我使用jQuery过滤了一堆对象,我希望能够访问事件的函数体,而不需要附加函数构造函数。我会告诉你我的意思:
$('li').filter(function(){
return this.onmouseout !== null;
})
.each(function(){
console.log(this.onmouseout);
});
返回的是:
function onmouseout(event) {
GoodSearchBadgeHideMenu('120');
}
我想要归还的是:
GoodSearchBadgeHideMenu('120');
\\notice the absence of 'function onmouseout(event)' and closing bracket
我确信我可以使用String.replace()
轻松解析它,但我想知道函数体是否可以在元素的属性或事件对象中的某个位置访问。
由于
答案 0 :(得分:1)
因为您将处理程序作为元素属性附加,所以可以使用.getAttribute()
来检索已设置的正文。
this.getAttribute("onmouseout");
因此...
$('li').filter(function(){
return this.onmouseout !== null;
})
.each(function(){
console.log(this.getAttribute("onmouseout"));
});