在 jQuery 1.9+ 中,您不再使用实时处理程序,因为“on”存在。如果我正在使用并且我想绑定单击的“按钮”我该怎么做?
目前这只绑定事件(不是我在函数中需要的元素)
var like = function(el) {
//var el = $("#like"); (to avoid this)
$(el).parent().hide();
};
$("#like").on('click', like);
在 jQuery 1.9+ 中,您不再使用实时处理程序,因为“on”存在。如果我正在使用并且我想绑定单击的“按钮”我该怎么做?
目前这只绑定事件(不是我在函数中需要的元素)
var like = function(el) {
//var el = $("#like"); (to avoid this)
$(el).parent().hide();
};
$("#like").on('click', like);
el
是一个事件对象对象。
el.target
是触发点击的DOM 元素。
this
是对该 DOM 元素的预配置引用。
$(this)
将该引用转换为 jQuery 引用。
所以你可以这样
var like = function(el) {
console.log(el); // outputs event object object
console.log(el.target); // outputs DOM element
console.log(this); // should output the same as el.target
console.log($(this)); // outputs jQuery object of that DOM element
// the code can be
$(this).parent().hide();
// or
$(el.target).parent().hide();
}
在处理程序中使用this
上下文,它是生成事件的元素。
var like = function() {
$(this).parent().hide();
};
$("#like").on('click', like);