观察新 DOM 节点的插入并调用它们的方法
我正在使用 jQuery 编写一些 javascript,以调用类 datepicker
的所有节点上的方法。
这就是我所拥有的:
$('.datepicker').my_method();
这按预期工作 - 它调用 my_method
。
但是,我希望能够在使用 datepicker
类插入 DOM 的所有新节点上调用 my_method
。
我想要与 .live
方法类似的功能,而不指定 eventType
。
我该怎么办?
I'm writing some javascript using jQuery to call a method on all nodes with class datepicker
.
Here's what I have:
$('.datepicker').my_method();
This works as expected - it calls my_method
.
However, I want to be able to call my_method
on all new nodes that are inserted into the DOM with the class datepicker
.
I want similar functionality to the .live
method, without specifying an eventType
.
How do I go about this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这就是
.livequery
插件 的用途:)或者
,您可以在加载元素时重新运行插件,例如
$.ajax()
,如下所示:此方法仅在响应中的
.datepicker
元素上运行,而不是现有的元素......所以它只是运行/做最少的工作。就浪费的观察代码/处理等而言,这是最有效的方法......但它并不总是一个选择。This is what the
.livequery
plugin is for :)You use it like this
Alternatively, you can re-run your plugin when you're loading elements, say in the case of
$.ajax()
, like this:This method only runs on
.datepicker
elements in the response, not existing ones...so it's only running/doing the minimal amount of work. This is the most efficient approach in terms of wasted observation code/processing, etc...but it's not always an option.