0

我正在使用 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()来轻松解析它,但我想知道函数体是否可以在元素属性或事件对象的某处访问。

谢谢

4

1 回答 1

1

因为您将处理程序作为元素属性附加,所以您可以使用它.getAttribute()来检索已设置的主体。

this.getAttribute("onmouseout");

所以...

 $('li').filter(function(){
            return this.onmouseout !== null;
        })
        .each(function(){
            console.log(this.getAttribute("onmouseout"));
        });
于 2013-08-23T20:29:20.477 回答