如何用 $(document).on() 替换 $(document).ready()
How to replace $(document).ready() with $(document).on()
我是 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()
,但我不知道如何正确编辑我的代码。
谢谢大家
var myClone = $('el').clone();
myClone.appendTo('target');
myClone.tooltipster({....});
jQuery 为您提供当时存在的元素,而不是您稍后添加的元素。如果添加它们,则还必须添加工具提示
事件委托不能解决你的问题。它不会动态检测元素何时添加到文档中。您需要手动调用代码来添加您的工具提示。最好的办法是分解代码,使其可重用,而不是在准备就绪时和克隆元素时调用方法。
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);
我是 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()
,但我不知道如何正确编辑我的代码。
谢谢大家
var myClone = $('el').clone();
myClone.appendTo('target');
myClone.tooltipster({....});
jQuery 为您提供当时存在的元素,而不是您稍后添加的元素。如果添加它们,则还必须添加工具提示
事件委托不能解决你的问题。它不会动态检测元素何时添加到文档中。您需要手动调用代码来添加您的工具提示。最好的办法是分解代码,使其可重用,而不是在准备就绪时和克隆元素时调用方法。
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);