我的选择按钮有一个通用的事件处理程序:
我的代码是:
$(document).ready(function(){$("#delAppSelectApp,#userAppSelectApp,#hexSelectApp,#countSelectApp").change(function(){
......
});});
如果更改"countSelectApp"选择触发通用处理程序。
我试过使用
alert(this.toSource())
以确定哪个选择触发了处理程序,但我得到的只是一个警告,说
[object HTMLelement]
在事件处理程序中,jQuery将this
设置为事件应用的DOM元素,因此您可以直接访问应用于DOM事件的任何属性或方法,也可以将其封装在jQuery调用中作为$(this)
来访问jQuery方法。
因此,在我看来,测试事件是否应用于"countSelectApp"的最简单(当然也是最有效)的方法就是使用this.id
:
if (this.id === "countSelectApp") {
// call your function here
}
顺便说一句,与其列出jQuery选择器中的所有元素id,我更倾向于给这些元素一个公共类,比如"selectApp",然后使用类作为选择器绑定更改处理程序:
$(".selectApp").change(function() {
if (this.id === "countSelectApp") {
// call your function here
}
...
});
ask:
if($(this).attr('id')=="countSelectApp")
callYourFunction();
您可以将事件对象用作;
$('selector').change(function(event) {
console.log(event.target);
});