javascript - 如果两个事件都发生,如何仅触发其中一个事件?

标签 javascript jquery events

我使用此代码来处理事件,但如果两者或其中之一发生,我想触发一次。

$(document).on("keypress blur", ".pollOptionInput", function(e) {
  if (e.type == 'focusout' || e.keyCode == 13) {
    e.preventDefault();
    addPollOption();
    $('.btnAdd').focus();
  }
});

如果我按 Enter 键,我的代码会触发两次。 我该如何解决我的问题?

最佳答案

它可以正常工作,没有任何问题。也许您附加事件两次,这就是问题所在。 请注意,我更改了事件附加方式 - read more

$(document).ready(function(){
  $(".pollOptionInput").on("keypress blur", function(e) {
    if (e.type == 'blur' || e.keyCode == 13) {
    e.preventDefault();
      //addPollOption();
      //$('.btnAdd').focus();
      console.log('EVENT!');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="text" class="pollOptionInput" />
<input type="text" class="pollOptionInput" />
<input type="text" class="pollOptionInput" />

关于javascript - 如果两个事件都发生,如何仅触发其中一个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39013603/

相关文章:

c# - 双击后 Devexpress GridContol 检查值变化

javascript - 通过使用 Map Filter 与对象数组进行比较来返回字段

javascript - 模拟 CSS 弹出框

javascript - Backbone 中 Underscore 的 .defer() 导致错误 : Cannot call method 'apply' of undefined

javascript - 如何为 View 添加动态事件?

javascript - 如何正确地将循环中的参数传递给多个事件处理程序?

Java - 如何使用 JavaScriptExecutor 调用字符串内的变量?

javascript - 如何使用javascript记住页面刷新后点击的按钮?

javascript - 这是什么意思 : TypeError: dest. on is not a function

PHP json_encode 生成带引号的 json 但 JS 希望它没有引号