我知道从 jQuery 1.7 开始, .live() 方法已被弃用。所以这就是我想出的:
$(document.body).on('click', '#list', function() {
console.log($(this));
});
这几乎可以解决问题,相当于:
$('#list').live('click', function(){
console.log($(this));
});
它们都返回#list jQuery 对象,这正是我想要的。但是,问题是当我将 jQuery 对象作为第二个参数而不是字符串(这种情况经常发生)传递时,例如:
var list = $('#list');
$(document.body).on('click', list, function() {
console.log($(this));
});
控制台返回$(body) jQuery 对象。在这一点上这是没有用的。;) 有任何想法吗?
编辑:这里的问题不是如何从示例 1 和 2 访问受影响的对象 $('#list'),而是如何在示例 3 中访问它。