首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用$(document).ready()替换$(document).on()

如何用$(document).ready()替换$(document).on()
EN

Stack Overflow用户
提问于 2016-05-11 13:30:09
回答 3查看 500关注 0票数 1

我对JQuery很陌生。我使用 JQuery函数来显示元素的工具提示。

我按照自己的需要(在这个社区的帮助下)以这种方式编辑代码:

代码语言:javascript
运行
复制
$(document).ready(function() {  
   $('.toolTipField').each(function() {
     $(this).tooltipster({
         content: $('<span>' + $(this).attr("data-tooltipText") + '</span>')
     });
   });
});

我还需要显示有关添加到DOM中的元素的工具提示,该JQuery函数如下:

代码语言:javascript
运行
复制
$("#element").clone().appendTo("#target")

现在,工具提示不适用于添加到DOM中的JQuery元素。查看互联网,我发现我必须使用on()方法而不是ready(),但是我不知道如何正确地编辑我的代码。

谢谢大家。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-11 13:40:24

事件委托不会解决您的问题。它不会动态地检测元素何时被添加到文档中。您需要手动调用代码来添加工具提示。最好的做法是将代码分解出来,这样它就可以重用,而不是在ready和克隆元素时调用该方法。

代码语言:javascript
运行
复制
function addToolTips (elems) {
   elems.each(function() {
     $(this).tooltipster({
         content: $('<span>' + $(this).attr("data-tooltipText") + '</span>')
     });
   });
}


$(document).ready(function() {  
   addToolTips($('.toolTipField'))
});

当你克隆元素时

代码语言:javascript
运行
复制
var clonedElem = $("#element").clone().appendTo("#target");
addToolTips(clonedElem);
票数 4
EN

Stack Overflow用户

发布于 2016-05-11 13:36:25

代码语言:javascript
运行
复制
var myClone = $('el').clone(); 
myClone.appendTo('target'); 
myClone.tooltipster({....});
票数 2
EN

Stack Overflow用户

发布于 2016-05-11 13:38:50

jQuery给出了在那一刻存在的元素,而不是稍后添加的元素。如果添加它们,则还必须添加工具提示。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37164216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档