如何将jquery对象转移到“On”方法(第二个参数)

How to transfer a jquery object to the "On" method(the second params)?

本文关键字:方法 第二个 参数 On jquery 对象 转移      更新时间:2023-09-26

我需要代替Jquery中的"Live"事件,所以我必须修改我的js代码。但我来了一个问题。那是:

jQuery API 是 : on(events,[selector],[data],fn)

但是我的代码有一些jquery对象,像这样:

var $obj=$(".btn");
$obj.live("click",function(){
.....................
});

所以我改变了它:

var $obj=$(".btn");
$(document).on("click",$obj,function(){
.............................
});

结果是当我单击 dom 时,"点击"事件正在运行.....

谢谢,我的英语不好,原谅我

我已经解决了,谢谢朋友。 "$(").selector" 是一个字符串

var $obj=$(".btn");$(document).on("click",$obj.selector,function(){ ....................});

它应该是

$(document).on('click', '.btn', function() {
});

或者,如果变量中已有元素,则不需要委托的事件处理程序

$obj.on('click', function() {
});

你不能将jQuery对象作为第二个参数传递给on(),它实际上只是一个接受有效选择器字符串的过滤器。

var $obj=$(".btn");
$(document).on("click",$obj,function() {  // ".on" is missing
    ...
});