每当用户点击其中一个锚元素时,我都会有一个函数,比如这个
$('.element').on('click', function(){
// do stuff here
});
如果select元素更改了它的值,我想做同样的事情,比如这个
$('select').on('change', function(){
// do same stuff here
});
我知道我能做到
$('.element', 'select').on('click change', function(){
// do stuff here
});
但是每当我点击select元素时,这也会触发,我不想混淆用户并做一些事情,只是当select元素值发生了变化时。
答案 0 :(得分:20)
你没有 来使你的函数内联。
var doStuff = function() {
// do stuff here
});
$('.element').on('click', doStuff);
$('select').on('change', doStuff);
答案 1 :(得分:7)
解决此问题的最可读方法之一是创建一个单独的函数:
function doStuff(){
//do stuff here
}
$('.element').on('click', function(){
doStuff();
});
$('select').on('change', function(){
doStuff();
});
通过为该函数提供一个漂亮,有意义的名称,这也为您提供了一个很好的机会,使您的代码更清晰。