我对JQuery很陌生。我使用this JQuery函数来显示元素的工具提示。
我根据自己的需要(在这个社区的帮助下)以这种方式编辑了代码:
$(document).ready(function() {
$('.toolTipField').each(function() {
$(this).tooltipster({
content: $('<span>' + $(this).attr("data-tooltipText") + '</span>')
});
});
});
我还需要在使用此JQuery函数添加到DOM的元素上显示工具提示:
$("#element").clone().appendTo("#target")
现在工具提示并不适用于使用JQuery添加到DOM的元素。在互联网上我发现我必须使用方法on()
而不是ready()
,但我不知道如何正确编辑我的代码。
感谢大家。
答案 0 :(得分:4)
事件委托无法解决您的问题。它不会同步检测何时将元素添加到文档中。您需要手动调用代码来添加工具提示。最好的办法是将代码分解出来,以便它可以重复使用,然后在准备就绪和克隆元素时调用方法。
function addToolTips (elems) {
elems.each(function() {
$(this).tooltipster({
content: $('<span>' + $(this).attr("data-tooltipText") + '</span>')
});
});
}
$(document).ready(function() {
addToolTips($('.toolTipField'))
});
并克隆元素
var clonedElem = $("#element").clone().appendTo("#target");
addToolTips(clonedElem);
答案 1 :(得分:2)
var myClone = $('el').clone();
myClone.appendTo('target');
myClone.tooltipster({....});
答案 2 :(得分:-1)
jQuery为您提供当时存在的元素,而不是您稍后添加的元素。如果添加它们,则还必须添加工具提示