jquery - jquery "on click"函数在按键 "enter"时被触发

标签 jquery

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

我想避免在按下“enter”键时调用删除函数

当我关注其他文本框并按下 Enter 按钮时,此点击功能就会触发。

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

在其他字段上按 Enter 键时,删除功能会继续触发。

编辑:来自评论的 HTML

<div class="multipleDataRow">
  <label class="">Skills</label>
  <div class="">
    <div id="" class="">
      <div id="multiRow_2_Skillset" class="mBtm-5 span8 mLft-0">
        <input type="text" placeholder=".." id="skill" name="skills[]" value="" class="m-wrap" readonly="readonly">
        <select name="data[tmp_experiences[]]" id="tmp_years_exp_2" class="m-wrap" disabled="disabled">
          <option value="1">1</option>
        </select> Yrs&nbsp;
      </div>
      <div id="spanMultiremove_Skillset_2" class="mBtm-5">
        <button id="multiremove_Skillset_2" skillset_skexp="59" class="btn mini red"> remove </button>
      </div>
    </div>
  </div> <!-- Missing in comment -->
</div> <!-- Missing in comment -->

最佳答案

当焦点集中在按钮上时按 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,这应该会停止运行点击事件代码

关于jquery - jquery "on click"函数在按键 "enter"时被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19273796/

相关文章:

javascript - 在 MONGODB 上使用 $in 和 $and 在我的情况下不起作用

jquery - 使用 jQuery 进行时间减法

javascript - 如何使用Jquery在div内的div中加载iframe

javascript - CSS - 表格数据不在固定表格标题下

jquery - 将 Typeahead 与 Google 自定义搜索引擎结合使用

javascript - 与 attr 混淆以与 mouseover() 和 mouseout()(图像交换)一起使用

jquery - 将 Bloodhound 导入 Angular 2 CLI 项目

jquery - 在 HTML 中找到 Twitter 句柄,然后创建链接

javascript - 如何在cakephp2中调用javascript函数?

javascript - 使用数组、对象文字或 JSON 的 javascript 性能更好?