簡體   English   中英

更改單擊以在JavaScript中按鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM