请查看以下代码:
jQuery(function($) {
Slider = function() {
this.deleteSlider = function(e) {
return false;
}
}
var Slider = new Slider;
$('.heading-slider .actions .delete').click( Slider.deleteSlider );
});
我正在使用jQuery。在这种情况下如何将包含在jQuery对象中的clicked元素传递给deleteSlider函数?
我能想到的唯一解决方案是使用$(e.target)
,但必须有更好的方法。
答案 0 :(得分:1)
Silder.deleteSlider
应该被调用,this
指向触发点击的DOM元素而不管其原始上下文,因此除了从内部调用$(this)
之外,您不需要执行任何操作。功能
如果你想用this
专门调用它来引用用jquery包装的元素,那么你可以这样做:
$('.heading-slider .actions .delete').on('click', function(e) {
Slider.deleteSlider.apply($(this), [e]);
});
答案 1 :(得分: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);
});