javascript - 单击按钮后如何停止keydown功能

标签 javascript jquery html css web

当我按下 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/

相关文章:

javascript - 使用 Babel CLI 编译 React

javascript - Protractor Javascript 未按顺序执行

javascript - 在网络上编写数学证明的最佳方法是什么?

javascript - For 语句循环遍历数组和数组项到基于模式识别追加匹配的新数组

javascript - 以编程方式调整 H div 和 C div 的大小以及调整器

c# - 如何为此聊天应用程序使用 Ajax

javascript - 如何在 jquery 中使用它显示 div

html - 调整浏览器窗口大小时,CSS 背景颜色宽度会减小

html - 进度条圆圈不在 Bootstrap 的中心

javascript - Angularjs slider 选择日期而不是数字