基本上我想将函数A绑定到所有输入。像这样:
$('input').bind('change', function() { bla bla bla });
然后我想再绑定一些不同的东西:
$('#inputName').bind('change', function() { do additional processing..});
这可能吗?它有用吗?我错过了语法吗?这样的罚款真的很好(这意味着我在其他地方有一个错误导致其中一个不能绑定)?
答案 0 :(得分:3)
对你的问题的简短回答是肯定的。
如果您希望将其他功能绑定到#inputName的更改事件,那么您的代码示例应该可以正常工作。
如果您希望更改处理事件的函数,您可以在重新绑定任何新事件处理程序之前取消绑定change事件的所有处理程序...
$('#inputName').unbind('change');
但要小心......没有尝试这个,我不确定任何副作用。
答案 1 :(得分:1)
为什么不创建一个同时调用它们的函数,然后将这个新函数绑定到事件?
答案 2 :(得分:0)
在你的代码中,一个输入,另一个inputName,是一个拼写错误?
搜索,这里有一个similar question。
$(document).ready(function() {
$("input").change(function() {
console.log("function1");
});
$("input").change(function() {
console.log("function2");
});
});
答案 3 :(得分:0)
假设上面已经解决(即你试图将一个函数绑定到同一个对象),是的,你可以将多个事件处理程序绑定到同一个。
为了让您的生活更轻松,也可以查看名称空间(因此您可以为同一事件对事件处理程序进行分组)。
答案 4 :(得分:0)
它可以很好地绑定两者。它有点有趣的地方是你试图通过返回false来防止默认行为。绑定函数不能阻止彼此以这种方式运行,但它们可以阻止父元素的事件处理程序运行。