javascript - "input"事件的多个事件监听器

标签 javascript jquery event-handling handler jquery-events

我知道您可以为“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/

相关文章:

javascript - 页面加载后其他元素消失?

javascript - 我怎样才能得到相对定位的 parent

javascript - 渲染 displaySIngleElement 组件 onClick react

javascript - 在 React.js 中将 key 传递给 child

javascript - 从sqlite数据库获取结果

javascript - FabricJS ReactJS CORS 错误

javascript - 如何使用速度创建更智能的切换动画

java - 如何使关键箭头起作用?

javascript - 如何在 React.js 中将事件函数分配给 DOM 列表

javascript - 选择创建 DOM 元素还是在 javascript 中使用 HTML 来生成控件