我正在使用tooltipster jquery插件以更好的方式显示标题。在我的网站上有两个类的链接.fav tooltip
<div class="actsave">
<a href="#" class="fav tooltip" title="Save">Save</a>
</div>
的.tooltip
是使用采取上述锚标题并根据tooltipster插件显示它。
$('.tooltip').tooltipster();
这很好用,但是当用户单击此链接时,整个DOM将被新的DOM替换。
$("div.actsave").on("click", "a.fav", function(e){
e.preventDefault();
$(this).replaceWith('<a href="#" class="del tooltip" title="Delete">Delete</a>');
});
此时,带有.del
类的新锚点不会发生任何事件。我的问题是我如何在jquery中将此新创建的dom添加一个事件侦听器?
经过一些研究,我以这种方式修复它:
$("div.actsave").on("mouseover mouseout", "a.del", function(e){
$(e.target).tooltipster();
});
但是,当我们悬停链接时,似乎在没有任何理由的情况下一次又一次地向dom添加相同的事件,所以这是一个问题,我们可以一次将事件侦听器添加到此新创建的dom吗?
$("div.actsave").on("click", "a.fav", function(e){
e.preventDefault();
var newElement = $('<a href="#" class="del tooltip" title="Delete">Delete</a>');
$(this).replaceWith(newElement);
newElement.tooltipster();
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句