tim*_*tim 0 jquery events css-selectors
如何在一个相同的函数中组合$('#foo').click()和$('#bar').change()?点击可能无法触发#bar,而#foo则不会被更改触发.
所以假设:
$('#foo').click() + $('#bar').change() (function{
//...
});
Run Code Online (Sandbox Code Playgroud)
这不是我要找的:
function foobar() {
// ...
}
$('#foo').click(function{
foobar();
});
$('#bar').change(function{
foobar();
});
Run Code Online (Sandbox Code Playgroud)
相关的HTML:
<select id="bar">
<option>dummy1</option>
<option>dummy2</option>
</select>
<button id="foo">foo</button>
Run Code Online (Sandbox Code Playgroud)
如果您不想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
};
} );
Run Code Online (Sandbox Code Playgroud)
虽然我认为你列出的不想要的方法是更好的方法.哪个更容易阅读和理解?:
function foobar() {
// ...
};
$( '#foo' ).click( foobar );
$( '#bar' ).change( foobar );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |