Keyup功能正在调用两次



为什么在jQuery触发两次中的键函数?我已经尝试了未绑架和关闭方法..但它不起作用任何人都帮我

$("#inputid").keyup(function(e) {
             console.log("inputttt calling twice");
              var userQuantity =$('#id').val();
          });

,除非您添加侦听器两次,否则通常不会像这样。

为了防止在同一元素上进行多个事件侦听器,请在添加一个元素之前先删除侦听器。另一种方法是在添加事件侦听器之前定义回调函数,这样,无论您进行多少次addEventListener,它都只会将侦听器添加到元素中。像下面的东西。

提前提供回调函数

var input = document.getElementById('some');
var callback = function(event) {
  console.log("PRINT");
}
input.addEventListener("keyup", callback)
// input.removeEventListener("keyup", callback)
input.addEventListener("keyup", callback)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="some" value="" >

匿名函数作为回调

var input = document.getElementById('some');
input.addEventListener("keyup", function(event) {
  console.log("PRINT");
})
// input.removeEventListener("keyup", callback)
input.addEventListener("keyup", function(event) {
  console.log("PRINT");
})
<input id="some" value="">

相关内容

  • 没有找到相关文章

最新更新