2017-05-07 2 views
0

J'ai téléchargé une source de lecteur audio HTML5 de here et je veux changer la façon dont le joueur est contrôlé en cliquant sur la touche.Cliquez pour appuyer sur le bouton en JavaScript

Dans le fichier js je trouve ceci:

// play click 
    $('.play').click(function (e) { 
     e.preventDefault(); 

     playAudio(); 
    }); 

et moi avons essayé de mettre en œuvre cela, mais n'a pas fonctionné:

document.onkeydown = function(e) { 
if (e.keyCode == 78) { 
    e.preventDefault(); 

     playAudio(); 
    }}; 

Comment puis-je obtenir ce travail?

Répondre

3

Essayez cette

document.onkeypress = function(e) { 
    if (e.keyCode == 78) { 
      e.preventDefault(); 
      playAudio(); 
    } 
}; 
1

Non testé mais vous pouvez essayer cette

document.body.onkeydown = function(e) { 
    //rest of the code 
}; 
1

changer votre code à

$('.play').keydown(function (e) { 
    e.preventDefault(); 

    playAudio(); 
}); 

cela fonctionnera

1

window.addEventListener("keydown", yourFunction, false); //listen to any keydown 
 

 
function yourFunction(e) 
 
{ 
 
if (e.keyCode == "65") 
 
{ 
 
    alert("The 'a' key is pressed."); 
 
} 
 
}

+0

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire expliquant pourquoi et/ou comment ce code répond à la question améliore sa valeur à long terme. –

1

Qu'est-ce que vous avez besoin est .onkeypress.

En supposant que playAudio, vous pouvez imiter ce que l'jQuery fait comme suit:

var elements=document.querySelectorAll('.play'); 
for(var i=0;i<elements.length;i++) elements[i].onkeypress=function(e) { 
    if(e.keyCode!=78) return; 
    playAudio(); 
    e.preventDefault(); 
} 

Si vous êtes sûr il n'y aura qu'un tel élément, vous pouvez écrire:

document.querySelector.onkeypress=function(e) { 
    if(e.keyCode!=78) return; 
    playAudio(); 
    e.preventDefault(); 
} 
1

Voici la démo travaille pour vous

https://jsfiddle.net/milanchheda/b478atu0/1/

HTML:

<div class="containerClass"> 
    <input type="text" class="inputClass" /> 
</div> 

code JQuery:

$(".containerClass").on('keydown', '.inputClass', function() { 
    alert("keydown..."); 
}); 
0

vous remercie tout le monde. j'apprécie toute votre aide. Ma mise en œuvre fonctionne bien après avoir effacé les cookies du navigateur.