1

どのセレクターやメソッドでも使える関数を宣言できるようにしたいので、以下のようにしようと思ったのですが、うまくいきません!

何故ですか?:)

$(document).ready(function() {

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

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

});
4

3 に答える 3

6

$(this)ホバー イベントから として渡すことができargumentます。必要なのは を変更することだけですimageClass 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

jQuery.proxyを試すことができます。それはあなたが合格することを可能にしますthis

あなたが理解できないならば、私に知らせてください。

于 2012-10-18T09:51:14.130 に答える
0

ただし、これも機能します。

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

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

そしてもう1つのオプション:

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

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