如何在一个相同的函数中组合$('#foo')。click()和$('#bar')。change()? 假设: 这是不我正在寻找的东西: 相关HTML:$('#foo').click() + $('#bar').change() (function{
//...
});
function foobar() {
// ...
}
$('#foo').click(function{
foobar();
});
$('#bar').change(function{
foobar();
});
<select id="bar">
<option>dummy1</option>
<option>dummy2</option>
</select>
<button id="foo">foo</button>
答案 0 :(得分:5)
如果您不希望click
上的#bar
或change
上的#foo
,这是唯一的方式:
$( '#foo, #bar' ).on( 'click change', function ( event ) {
if( ( event.type == 'click' && event.target.id == 'foo' )
|| ( event.type == 'change' && event.target.id == 'bar' ) ) {
//process event here
};
} );
虽然我认为您列出的不想要的方法是更好的方法。哪个更容易阅读和理解?:
function foobar() {
// ...
};
$( '#foo' ).click( foobar );
$( '#bar' ).change( foobar );
答案 1 :(得分:0)
$(":input").click(function(){
alert($(this).attr('id'));
foobar(); //you can pass here the id as parameter to your function
})