为什么在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="">