2017-05-07 41 views
0

到按鍵我從here 下載的HTML5音頻播放器源,我想改變播放器是從點擊到按鍵控制方式。更改單擊在JavaScript

js文件,我發現這一點:

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

     playAudio(); 
    }); 

,我試圖實現這一點,但沒有奏效:

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

     playAudio(); 
    }}; 

我怎樣才能得到這個工作?

回答

3

試試這個

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

沒有進行測試,但你可以試試這個

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

改變你的代碼

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

    playAudio(); 
}); 

這將工作

1

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

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

+0

儘管此代碼可能會回答問題,但提供有關爲何和/或此代碼如何回答問題的其他上下文會提高其長期價值。 –

1

你需要的是.onkeypress

假設playAudio,你可以效仿的jQuery是做如下:

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(); 
} 

如果你確定只會有一個這樣的元素,你可以寫:

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

這裏是你的工作演示:

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

HTML:

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

jQuery代碼:

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

謝謝大家。我感謝你的幫助。在清除瀏覽器cookie後,我的實現很好地工作。