当我按下 38、40 和 13 键时,我有 js 代码,这些功能分别起作用。 但我想做的是,当我点击这个按钮时,keydown function block将被禁用, 当我悬停这个按钮时,这个keydown功能 block 将被启用。
$(document).keydown(function(e){
if (e.keyCode == 38) {
verticalSlideDown();
//console.log("pressed key for Down : "+e.keyCode);
}
if (e.keyCode == 40) {
verticalSlideUp();
//console.log("pressed key for Up: "+e.keyCode);
}
if (e.keyCode === 13) {
var div= $(".scroll-inner-container");
//console.log("pressed key for stop : "+e.keyCode);
div.stop();
}
});
这是我的 html 按钮:
<button class="keyboard-btn">click here</button>
最佳答案
只需创建一个标志。
悬停时启用,点击时禁用。
var controlsEnabled = false;
$(myButton).hover(function () {
controlsEnabled = true;
});
$(myButton).on('click', function () {
controlsEnabled = false;
});
$(document).keydown(function (event) {
if (controlsEnabled)
{
// rest of code here
}
});
关于javascript - 单击按钮后如何停止keydown功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46424201/