我知道您可以为“click”事件添加多个事件监听器,如下所示:
$("input").bind("click",function(e){
console.log("one");
})
$("input").bind("click",function(e){
console.log(two);
})
但是如何为“input”事件添加多个事件监听器呢? 我尝试了这个,但似乎它只获取最后一个事件监听器:
$("input").bind("input",function(e){
console.log("one");
})
$("input").bind("input",function(e){
console.log("two");
})
当我输入内容时,我在控制台中只得到“两个”。
这是 console.log($._data( $("input")[0], "events"));
的结果:
Object {click: Array[2], input: Array[1]}
最佳答案
我没有遇到问题:看看这个
http://jsbin.com/sisozisoko/1/edit?html,js,output
但我认为重新组织代码会更好:
var printOne = function(e){
console.log("one");
},
printTwo = function(e){
console.log("two");
};
$("input").on("click", function () {
printOne();
printTwo();
});
不再使用属性绑定(bind):http://www.elijahmanor.com/differences-between-jquery-bind-vs-live-vs-delegate-vs-on/
关于javascript - "input"事件的多个事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26948837/