我不確定如果我真的瞭解它,也許它在第三個參數中,[選項]設置我沒有完全理解,但我會變直到代碼。刪除事件偵聽器仍然會觸發另一個元素被徘徊
在構建文檔時,我想添加事件偵聽器來處理keyup和keydowns。我有這一切工作,它很好。
window.addEventListener('keydown', keyinputhandler, false);
window.addEventListener('keyup', keyinputhandler, false);
function keyinputhandler(e) {
//doing stuff with it here
}
問題在於當我使用jquery的懸停方法做某些事情時。
var someotherelement = $('#someotherelement');
someotherelement.hover(function(){
window.removeEventListener('keydown', keyinputhandler, false);
window.removeEventListener('keyup', keyinputhandler, false);
//for some reason, the events in keyinputhandler keep firing here, why?
}, function() {
window.addEventListener('keydown', keyinputhandler, false);
window.addEventListener('keyup', keyinputhandler, false);
}
);
在我上面的代碼中,我包含了我想要實現的註釋區域。當我懸停一個特定的元素時,我不希望其他事件處理程序觸發。當某個元素被佔用時,如何禁用keyinputhandler的行爲?
是否有可能創建小提琴或類似的問題?它使得人們更容易幫助。 – Keith
會給你一個,給你幾分鐘。 – simon
正如我可以測試它,您的代碼按預期工作。檢查是否由於某種原因,如果你沒有在這個元素上觸發mouseleave事件。 –