我正在使用角落插件以获得舍入div
。如何使用.delegate
或.on
将插件应用于将来创建的div
?
这是我必须得到的圆角:
$('.myDiv').corner("10px");
答案 0 :(得分:1)
您不会使用.on
或delegate
。
您只需使用相同的代码行,但您可以将其放在用于创建新div
的任何函数中。
......(function() { // function that creates the new div
// code that creates your new div called #myNewDiv
$('#myNewDiv').corner("10px");
});
.on()
用于将“事件”绑定到动态创建的元素,并且在您的情况下不起作用。但是,例如,如果您想将click
事件绑定到新的div
,则可以使用on()
。
.delegate()
已被.on()
as of jQuery 1.7取代。
答案 1 :(得分:1)
Basicaly,.on()用于附加事件处理程序,也会为当时不存在的元素触发.on()被调用。
您的插件无法正常工作 - 它会修改现有元素,无法修改不存在的元素。
但是,如果您创建自己的事件,那将是附加处理程序执行您提到的事情,您将能够在您将支持的任何元素上触发该事件。但正如其他人所说,这比jus在某些元素上重新初始化插件更复杂。或者你可以听一些可能在新元素出现后调用的事件(在将新元素插入DOM之后应该调用一些事件,但你仍然不能依赖它们 - 你需要找到你的网站特定情况或在DOM更新后触发您自己的案例,最好是命名空间。)
答案 2 :(得分:0)
实例化新元素时,请调用corner
方法。