0

次のコードを見てください。

jQuery(function($) {

Slider = function() {

    this.deleteSlider = function(e) {
        return false;
    }

}

var Slider = new Slider;

$('.heading-slider .actions .delete').click( Slider.deleteSlider );

});

ご覧のとおり、jQueryを使用しています。この場合、jQuery オブジェクトにラップされたクリックされた要素を deleteSlider 関数に渡す方法は?

私が思いつく唯一の解決策は を使用することです$(e.target)が、もっと良い方法があるはずです。

4

2 に答える 2

1

Silder.deleteSlider元のコンテキストに関係なく、クリックをトリガーしたDOM要素をポイントして呼び出す必要があります。したがって、関数内からthis呼び出す以外のことを行う必要はありません。$(this)

jqueryでラップされた要素を参照して具体的に呼び出したい場合はthis、次のようにすることができます。

$('.heading-slider .actions .delete').on('click', function(e) {
    Slider.deleteSlider.apply($(this), [e]);
});
于 2013-02-18T20:48:13.583 に答える
0

実際、私が知る限りこれ以上の方法はありません$(e.target)

jQuery(function($) {
    Slider = function() {
        this.deleteSlider = function(e) {
            var $elem = $(e.target);
            return false;
        }
    }

    var Slider = new Slider;
    $('.heading-slider .actions .delete').on('click', Slider.deleteSlider);
});
于 2013-02-18T20:44:57.063 に答える