Javascript 如何以两种不同的方式调用同一个函数?
我正在尝试组合一个函数,该函数将在以下情况下显示警报(当然,我在该函数中有很多代码,但在这种情况下,它将是警报):Javascript 如何以两种不同的方式调用同一个函数?,javascript,jquery,Javascript,Jquery,我正在尝试组合一个函数,该函数将在以下情况下显示警报(当然,我在该函数中有很多代码,但在这种情况下,它将是警报): 单击类为的元素上的。编号 Change选择[name=receive] 我有此代码,但不起作用: $(document).on(("click",".number"),("change","select[name=receive]"),function(){ alert('test'); }) 试试这个 $(document).on("click change","sel
单击类为的元素上的
。编号
Change
选择[name=receive]
$(document).on(("click",".number"),("change","select[name=receive]"),function(){
alert('test');
})
试试这个
$(document).on("click change","select[name=receive], .number", function(){
alert('test');
});
function doMyWork() {
console.lot( 'TEST' );
}
$('.number').on('click', doMyWork);
$('select[name=receive]').on('change', doMyWork);
或
试试这个
$(document).on("click change","select[name=receive], .number", function(){
alert('test');
});
function doMyWork() {
console.lot( 'TEST' );
}
$('.number').on('click', doMyWork);
$('select[name=receive]').on('change', doMyWork);
或者,如果在DOM就绪后插入元素:
如果目标元素位于DOM ready
我不确定您是从哪里学来这种语法的,但on()不是这样工作的 使用命名函数并共享它
(function(){
var shared = function(){
console.log(this);
}
$(document)
.on("click",".number", shared)
.on("change","select[name=receive]", shared);
}());
不能在单个
.on()
调用中分离事件和选择器。你有两个选择。你可以一起使用它们
$(document).on("click change", ".number, select[name=receive]"),function(){
alert('test');
});
…但是这意味着.number将同时侦听单击和更改,可能导致函数运行2次
您需要将函数移到外部,并为每个处理程序重用它
var al = function(){
alert('test');
};
$('.number').on('click', al);
$('select[name=receive]').on('change', al);
这对我来说是最好的解决办法。工作完美。谢谢,很好。很高兴你觉得这很有用。享受吧!
var al = function(){
alert('test');
};
$('.number').on('click', al);
$('select[name=receive]').on('change', al);