我对JQuery很陌生。我使用这 JQuery函数来显示元素的工具提示。
我按照自己的需要(在这个社区的帮助下)以这种方式编辑代码:
$(document).ready(function() {
$('.toolTipField').each(function() {
$(this).tooltipster({
content: $('<span>' + $(this).attr("data-tooltipText") + '</span>')
});
});
});
我还需要显示有关添加到DOM中的元素的工具提示,该JQuery函数如下:
$("#element").clone().appendTo("#target")
现在,工具提示不适用于添加到DOM中的JQuery元素。查看互联网,我发现我必须使用on()
方法而不是ready()
,但是我不知道如何正确地编辑我的代码。
谢谢大家。
发布于 2016-05-11 13:40:24
事件委托不会解决您的问题。它不会动态地检测元素何时被添加到文档中。您需要手动调用代码来添加工具提示。最好的做法是将代码分解出来,这样它就可以重用,而不是在ready和克隆元素时调用该方法。
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);
发布于 2016-05-11 13:36:25
var myClone = $('el').clone();
myClone.appendTo('target');
myClone.tooltipster({....});
发布于 2016-05-11 13:38:50
jQuery给出了在那一刻存在的元素,而不是稍后添加的元素。如果添加它们,则还必须添加工具提示。
https://stackoverflow.com/questions/37164216
复制相似问题