2016-07-18 2 views
0

Le ci-dessous est la fonction java script qui est utilisé pour contrôler les touches à l'aide d'audio, et comment puis-je appeler la fonction java script normal dans l'autre script java fonctioncomment appeler un javascript dans un autre script

var editor = document.getElementById("CKEditor1"); 
editor.on('contentDom', function() { 
    editor.document.on('keydown', function (event) { 
     if (event.data.key == 32) 
      alert('space bar pressed'); 
    }); 
}); 
+0

Le code dans l'éditeur de ck est une fonction anonyme, de sorte que vous ne pouvez pas l'appeler jusqu'à ce que vous donner un nom à cette fonction et définir une portée globale ou d'une carte dans un objet global. Mais c'est un gestionnaire d'événements, donc il n'est pas censé être appelé mais quand l'événement est déclenché. À propos de l'appel de la fonction dans votre deuxième extrait. Si la balise de script se trouve dans le même document et est placée dans la section head, vous devez accéder aux fonctions par nom. Mais s'il vous plaît expliquez mieux ce que vous cherchez. –

+0

s'il vous plaît expliquer comment les 2 extraits apparaissent dans votre page et ce que vous avez lorsque vous essayez de l'utiliser. –

+0

Alors pourquoi vous ne pouviez pas appeler une fonction comme 'Slow()'? Vous avez une erreur? Tu n'as rien? –

Répondre

0
var editor = document.getElementById("CKEditor1"); 
editor.on('contentDom', function() { 
    editor.document.on('keydown', function (event) { 
     if (event.data.key == 32) 
      alert('space bar pressed'); 
}); 
}); 
+0

vous devriez changer votre question, n'écrivez pas une réponse si vous n'en avez pas. –

0

vous devez simplement appeler les fonctions directement comme l'exemple de suivi:

<script type = "text/javascript">//final 
     $(document).ready(function() { 
      CKEDITOR.on('instanceCreated', function (e) { 
       e.editor.on('contentDom', function() { 
        e.editor.document.on('keydown', function (event) { 
         var x = event.data.$.keyCode; 
         if (x == 32) { 
          alert('spacebar is pressed'); 
          return true; 
         } else if (x == 115) { 
          if (audio.paused) { 
           audio.play();//f4 
          } else { 
           audio.pause() 
          } 
         } else if (x == 119) { 
          // Log before the function 
          console.log("calling Forward()"); 
          Forward();//F8 
          // Log after the function 
          console.log("after Forward()"); 
          } else if (x == 120) { 
          // Log before the function 
          console.log("calling Slow()"); 
          Slow();//F9 
          // Log after the function 
          console.log("after Slow()"); 
          } 

         var count = 0; 

        }); 
       }); 
      }); 

     }); 

</script> 

Pour les autres fonctions que vous devriez faire un travail similaire.

Comme vous lierez sur « KEYDOWN » événement, vous devez considérer la partie de votre deuxième extrait de code:

window.addEventListener("keydown", function (e) { 
    // space, page up, page down and arrow keys: 
    if ([32, 33, 34, 37, 38, 39, 40].indexOf(e.keyCode) > -1) { 
     e.preventDefault(); 
    } 
}, false); 

Le code d'activation ici sont les flèches que le commentaire dit et vous pouvez vérifier facilment de cette site.

Donc, vous devriez placer ici votre code:

window.addEventListener("keydown", function (e) { 
    // space, page up, page down and arrow keys: 
    if ([32, 33, 34, 37, 38, 39, 40].indexOf(e.keyCode) > -1) { 

     console.log("You pressed " + e.keyCode); 

     // I assume right arrow for forward 
     if (x == 39) { 
      // Log before the function 
      console.log("calling Forward()"); 
      Forward();//F8 
      // Log after the function 
      console.log("after Forward()"); 
     } else if (x == 37) { // left arrow to slow 
      // Log before the function 
      console.log("calling Slow()"); 
      Slow();//F9 
      // Log after the function 
      console.log("after Slow()"); 
     } 

     // then prevent to continue the other event handlers to avoid scrolling. 
     e.preventDefault(); 
    } 
}, false); 
+0

Il suffit d'appeler les fonctions dont vous avez besoin à l'endroit où vous avez besoin, comme je l'ai fait avec le 'Slow()', et devrait fonctionner. –

+0

@xyz J'ai changé ma réponse, en fournissant un exemple sur la façon dont vous devriez changer votre code. J'espère que cela t'aides. –

+0

Si vous ne voyez pas les journaux, cela signifie que le code n'est pas exécuté, vérifiez donc si le handle est appelé et la valeur keycode. Mettez un journal avant le premier 'if' pour le déboguer. –