Jquery 选择在插件中创建的对象
我用我的插件创建了各种各样的对象,然后我向它们附加了更多的对象,所以当我这样做的时候,我需要选择那些新的对象 我在这里制作了非常简单的JSFIDLE: 现在您可以看到,我将Jquery 选择在插件中创建的对象,jquery,Jquery,我用我的插件创建了各种各样的对象,然后我向它们附加了更多的对象,所以当我这样做的时候,我需要选择那些新的对象 我在这里制作了非常简单的JSFIDLE: 现在您可以看到,我将itemdiv附加到$container中,因此当用户单击item时,我想做一些事情,但我找不到选择它的方法 请记住,这是一个插件,我不想这样选择它:$(“.container.item”)我需要单独处理每个对象 请不要介意混乱的代码,这只是一个例子。如果您首先在内存中创建元素,请在那里附加事件处理程序,然后可以将该变量附加到
item
div附加到$container
中,因此当用户单击item
时,我想做一些事情,但我找不到选择它的方法
请记住,这是一个插件,我不想这样选择它:$(“.container.item”)
我需要单独处理每个对象
请不要介意混乱的代码,这只是一个例子。如果您首先在内存中创建元素,请在那里附加事件处理程序,然后可以将该变量附加到父级。像这样:
var $item = $("<div class='item'></div>").click(function() {
alert("Foo");
});
$container.append($item);
var$item=$(“”)。单击(函数(){
警惕(“Foo”);
});
$container.append($item);
如果首先在内存中创建元素,请将事件处理程序附加到那里,然后可以将该变量附加到父级。像这样:
var $item = $("<div class='item'></div>").click(function() {
alert("Foo");
});
$container.append($item);
var$item=$(“”)。单击(函数(){
警惕(“Foo”);
});
$container.append($item);
div还不存在,因此无法将侦听器附加到它们。您可以做的是将侦听容器内所有div的事件委托给容器本身:
$container.on("click", "div", function(){
$(".event").append("clicked! <br />");
});
$container.on(“单击”,“div”,函数()){
$(“.event”).append(“单击的!
”);
});
下面是一个演示:div还不存在,因此无法将侦听器附加到它们。您可以做的是将侦听容器内所有div的事件委托给容器本身:
$container.on("click", "div", function(){
$(".event").append("clicked! <br />");
});
$container.on(“单击”,“div”,函数()){
$(“.event”).append(“单击的!
”);
});
下面是一个演示:如果您知道将添加到容器中的内容,则可以执行以下操作- 我所做的只是改变:
$("div", $container).live("click", function(){
$(".event").append("clicked! <br />");
});
$(“div”,$container).live(“单击”,函数()){
$(“.event”).append(“单击的!
”);
});
致:
$($container).on('click','div',function()){
$(“.event”).append(“单击的!
”);
});
您还应避免使用
live()
-如果您知道将添加到容器中的内容,则可以执行以下操作-
我所做的只是改变:
$("div", $container).live("click", function(){
$(".event").append("clicked! <br />");
});
$(“div”,$container).live(“单击”,函数()){
$(“.event”).append(“单击的!
”);
});
致:
$($container).on('click','div',function()){
$(“.event”).append(“单击的!
”);
});
您还应该避免使用
live()
-而不是为每个div附加一个事件侦听器,为什么不委托给父级呢?我的假设是,他对每个项都要求不同的函数。如果不是,那么正如您所说,委托将是更好的方法。与其为每个div附加一个事件侦听器,为什么不委托给父级呢?我的假设是,他对每个项都要求不同的函数。如果没有,那么正如你所说,授权将是更好的方法。