将 keydown 执行限制为仅对特定 div 执行

Limit keydown execution only to specific div

提问人:alench 提问时间:3/15/2023 最后编辑:alench 更新时间:3/15/2023 访问量:31

问:

我想将 hit enter 的执行限制为仅针对特定的 div,而不是在整个页面上,以便此 enter 键不会影响此 #targer 包装器之外的 div,但以下检查 div 长度的代码不起作用:

if ($('#targer-wrapper').length) {

    $('#targer-wrapper').on('keydown', '#children-input', function (e) {

        value = $('input#children-input').val();

        if (value.length >= 3) {
            functionName();
        } else if (e.which === 13 || e.keyCode === 13) {
            functionName();
        }

    });
}

感谢您的帮助和建议

jquery 键键 输入 onkeydown

评论

0赞 Alive to die - Anant 3/15/2023
欢迎使用 StackOverflow。您应该先尝试解决问题。请更新您的问题,以显示您已经在最小可重现示例中尝试过的内容。有关更多信息,请参阅如何提问,并参加导览:)

答:

0赞 Pouriversal 3/15/2023 #1

当您想在特定元素上触发函数时,您应该选择该元素(在您的例子中为 #targer-wrapper )并在其上设置 eventListener:

if ($('#target-wrapper').length) {
  $('#target-wrapper').on('keydown', function(event) {
    // Your event handling code here
  });
}

应使用直接 eventListener,而不是依赖事件传播。

评论

0赞 alench 3/15/2023
谢谢,但不起作用:/