检测未来元素的存在并采取行动
detect for future element exist and do something
我使用了一个插件,它将在我的DOM中创建新元素,但不幸的是,在初始化插件后,它没有回调。因此,我正在考虑捕获新创建的DOM并执行某些函数。倾听未来元素的最佳方式是什么?
我试过两种方法
-
使用setTimeout这种方法的缺陷在于,假设每个用户都能在相同的加载时间内启动插件是非常危险的。
-
使用livequery插件(https://github.com/brandonaaron/livequery)这很好,但不适合表演。在我捕捉到即将到来的新元素后,它仍然在运行。
我怀疑您使用的插件是否没有回调,但如果您真的想检查元素是否在DOM中,您可以选择该元素(例如通过id/class)并检查它是否已经存在:
function checkIfThere() {
if ($('.yourEl').length > 0) console.log("There it is!");
else setTimeout(checkIfThere, 100); // recall the function until it is in the DOM
};
通过这种方式,您可以在每次元素未加载时分配超时来调用函数,直到加载为止。
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 用于检查数组中是否存在元素的javascript自定义方法
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 正在将事件处理程序添加到不存在的类
- 是否存在React Native“;WEB代码安全防护”;
- 一个密码测试程序,如果存在空格,它会提醒用户
- 验证会话中是否存在对象's数组
- javascript如果图像不存在don't加载它
- 如何查找值是否存在于二叉树中
- IE9的HTML5 Canvas getImageData()函数存在问题
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- CORS-服务器端cookie没有保存在chrome浏览器上
- 检查是否存在使用chrome扩展的javascript库
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 测试mongo脚本中是否存在参数
- 存在每个时间元素的javascript事件
- 检测未来元素的存在并采取行动