我有一個可以觸發「stopstart」函數(動畫)的按鈕。我也想要一個無鼠標方法來做到這一點,所以我已經將相同的功能綁定到空格鍵。這工作。如何防止焦點在按鈕上時觸發「點擊」事件的「按鍵」事件 - javascript/html dom
然而如果重點是按鈕,我按空間 - 這兩個事件火,無法工作,如何制止這種(第一按鍵事件觸發 - 鉻..)
事件監聽代碼:
document.getElementById("stopstart").addEventListener("click",
function (event) {
stopstart();
}); //add event listener to "stopstart" button
document.addEventListener("keypress",
function (event) {
if (event.keyCode === 32) { //space key
stopstart();
}
}); //add spacekey event listener to document
我不想從按鈕移除焦點,因爲我想保留這些功能 - 這兩個事件似乎是單獨生成 - 所以我還沒有找到如何檢測到點擊事件實際上是由空格鍵生成的。
這是可以解決的使用,而無需添加臨時標誌抓住這等
但問題是因爲點擊代碼被觸發,你爲什麼需要兩個他按鍵,當點擊只會做工精細的點擊?似乎您需要解決某個已經與一個事件偵聽器一起工作的東西。 – epascarello
請適應這個小提琴來重現問題http://jsfiddle.net/4srzb/ –
我更新了小提琴以顯示問題:http://jsfiddle.net/4srzb/1/ –