Jquery插件如何实现.live或.on所以它适用于新元素

时间:2016-07-26 01:30:43

标签: javascript jquery

我有一个使用HTML的{​​{1}}页面,还有一个外部插件jQuery

为了初始化插件,我必须这样做:

tooltipster

HTML非常简单,您只需将 $(document).ready(function() { $('.tooltip').tooltipster(); }); 设置为class

"tootlip"

这适用于'<span class="tooltip" title="This is my spans tooltip message!">Some other text</span>' 中的静态元素。

enter image description here

创建DOM后添加的新元素出现问题。 当DOMjQuery用于之后创建的元素时,这类似于.on()

所以,如果我有:

.live()
  

有关如何使这项工作的任何线索?我可以以对静态和动态元素有效的方式使用 $('#newelement').click(function(e) { $('#elements').html('<span class="tooltip" title="This is my spans tooltip message!">New element</span>'); }); 吗?

3 个答案:

答案 0 :(得分:2)

是的,对于新创建的元素,您最好使用:

$(document).on("click", "#newelement", function(e) {

                $('#elements').html('<span class="tooltip" title="This is my spans tooltip message!">New element</span>');

            });

答案 1 :(得分:0)

最佳解决方案是在您创建它们之后立即重新绑定所有(或者如果您雄心勃勃 - 仅创建新的)工具提示元素。例如,在ajax完成之后,您应该刷新所有工具提示。

答案 2 :(得分:0)

创建新函数并在.on事件中调用该函数

`