在jQuery 1.9+中,你不再使用实时处理程序,因为“on”存在。如果我正在使用并且我想绑定“按钮”,请点击我该怎么做?
Currenly这只会绑定事件(不是我在函数中需要的元素)
var like = function(el) {
//var el = $("#like"); (to avoid this)
$(el).parent().hide();
};
$("#like").on('click', like);
答案 0 :(得分:3)
el
是event object个对象。
el.target
是触发点击的DOM element。
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();
}
答案 1 :(得分:1)
在处理程序中使用this
上下文,这是生成事件的元素。
var like = function() {
$(this).parent().hide();
};
$("#like").on('click', like);