我在页面上动态创建了元素。
我希望使用$(element).pulsate()
事情是它不起作用,因为我们是在运行页面加载后创建的。
我注意到有一个jquery .live()
命令。
如何在live命令下运行pulsate()
?
答案 0 :(得分:1)
如果您需要根据点击事件使其产生脉动,可以使用.on()
:
$(container).on('click', selector, function() {
$(this).pulsate(...);
});
自1.7 {/ em>
以来,已弃用.live()
其中container
是DOM树中的元素,在您的应用运行时未删除,selector
是相对查询(锚定到容器),用于匹配您希望脉动的元素点击时。
示例强>
<div id="container"></div>
某些代码会附加一个新元素。
$('#container').append('<div class="bla">bla</div>');
然后,此代码可用于实现您的目标:
$('#container').on('click', '.bla', function() {
$(this).pulsate(...);
});
答案 1 :(得分:0)
事情是它不起作用,因为我们是在运行页面加载后创建的。
因此,在创建元素后,将$(element).pulsate();
与适当的选择器或元素实例一起使用。您还没有说过如何/何时创建它们,所以我不知道它是在事件或计时器上还是什么,但无论哪种方式,最终都会运行代码来创建元素。所以告诉他们作为代码的一部分脉动。 E.g:
/* ...add a bunch of content to #foo... */
$("#foo").pulsate();
您可以在创建新元素(class="new"
)时使用类,这样您就可以盲目地执行此操作:
$(".new").pulsate().removeClass("new");