首页 文章

按键“输入”时触发jquery“on click”功能

提问于
浏览
5
jQuery(document).ready(function() {
    jQuery(".multipleDataRow").on("click", "[id^='multiremove_']", function() { 
        //code here to delete
    });
});

我想避免在按键“按”时调用删除功能

当我专注于其他文本框并按下输入按钮时,点击功能会触发 .

删除按钮位于具有“multipleDataRow”类的容器内 .

删除功能在其他字段上按键输入时继续触发 .

3 回答

  • 6

    按下Enter键同时专注于按钮的处理方式与浏览器的 click 事件相同 .

    正如Rory所提到的,这是所有浏览器设计的一个特性,如果你想否定这个功能,最终用户可能对最终结果不满意,因为它不具备所有的标准功能 .

    为了否定这一点,您可以检查 onkeydown / onkeyup / onkeypress 以检查在点击事件触发之前是否发生键盘操作,并在按下键时停止点击事件代码触发 .

    var isKeyPress = false;
    
    document.onkeydown = function(event) {
       if (event.keyCode == 13) {
          isKeyPress = true;
       }
    }
    
    jQuery(".multipleDataRow").on("click", "[id^='multiremove_']", function() { 
       if (!isKeyPress) {
          //code here to delete
       }
       isKeyPress = false;
    });
    

    如果 isKeyPress 值为 true ,这应该会停止运行的单击事件代码

  • 1

    这是所有浏览器的设计 . 这是一个辅助功能,因此不应被篡改 .

    如果它在您的网站中导致意外行为,请更改HTML标记以解决此问题 .

  • 4

    你可以简单地在你的html代码中编写代码,就像你的html标签一样

    onkeydown="return (event.keyCode!=13);"
    

    这将阻止浏览器发出点击事件 .

相关问题