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

Geo*_*Joy 6 jquery

jQuery(document).ready(function() {
    jQuery(".multipleDataRow").on("click", "[id^='multiremove_']", function() { 
        //code here to delete
    });
});
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Nun*_*ers 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;
});
Run Code Online (Sandbox Code Playgroud)

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