1

我希望能够声明一个可以与任何选择器或方法一起使用的函数,因此我认为可以像下面这样完成,但它不起作用!

这是为什么?:)

$(document).ready(function() {

    $('img').hover(function(){
        imageClass();
    });

    function imageClass() {
        var thisClass = $(this).attr('class');
        console.log(thisClass)
    }

});
4

3 回答 3

6

您可以将悬停$(this)事件作为.argumentimageClass method to receive a parameter

$(document).ready(function() {

    $('img').hover(function(){
        imageClass($(this));
    });

    function imageClass(obj) {
        var thisClass = obj.attr('class');
        console.log(thisClass)
    }

});
于 2012-10-18T09:48:32.630 回答
0

但是,这也将起作用:

$('img').hover(imageClass);

function imageClass() {
    var thisClass = $(this).attr('class');
    console.log(thisClass)
}

还有一个选择:

$('img').hover(imageClass);

function imageClass(e) {
    var thisClass = $(e.target).attr('class');
    console.log(thisClass)
}
于 2012-10-18T09:48:17.357 回答
0

你可以试试jQuery.proxy。它会让你通过this

如果您无法弄清楚,请告诉我。

于 2012-10-18T09:51:14.130 回答