[英]Change click to keypress in JavaScript
我已經從此處下載了HTML5
音頻播放器源,我想將播放器的控制方式從單擊更改為按鍵。
在js
文件中,我發現了這一點:
// play click
$('.play').click(function (e) {
e.preventDefault();
playAudio();
});
我試圖實現這一點,但沒有成功:
document.onkeydown = function(e) {
if (e.keyCode == 78) {
e.preventDefault();
playAudio();
}};
我該如何工作?
嘗試這個
document.onkeypress = function(e) {
if (e.keyCode == 78) {
e.preventDefault();
playAudio();
}
};
未經測試,但您可以嘗試
document.body.onkeydown = function(e) {
//rest of the code
};
將您的代碼更改為
$('.play').keydown(function (e) {
e.preventDefault();
playAudio();
});
這會工作
window.addEventListener("keydown", yourFunction, false); //listen to any keydown function yourFunction(e) { if (e.keyCode == "65") { alert("The 'a' key is pressed."); } }
您需要的是.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();
}
這是為您工作的演示:
https://jsfiddle.net/milanchheda/b478atu0/1/
HTML:
<div class="containerClass">
<input type="text" class="inputClass" />
</div>
jQuery代碼:
$(".containerClass").on('keydown', '.inputClass', function() {
alert("keydown...");
});
謝謝大家。 我感謝您的所有幫助。 清除瀏覽器Cookie后,我的實施效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.