如何在尚不存在的 DOM 元素上调用 Jquery 方法?
我想使用这个灯箱插件来实现我的页面上尚不存在的一些自动完成链接。
您通常使用以下方式激活它:
$(document).ready(function($) {
$('a[rel*=facebox]').facebox()
})
由于页面加载时 a 链接并不全部出现在页面上,因此我通常会查找 .live
或 .delegate
方法来绑定一个事件,但在这种情况下,我将绑定到什么“事件”来表示“一旦此元素位于页面上,则对其调用此方法”。
还是我的处理方式完全错误?
I'd like to use this lightbox plugin for some autocomplete links, that don't yet exist on my page.
You normally activate it using:
$(document).ready(function($) {
$('a[rel*=facebox]').facebox()
})
Since the a links aren't all on the page upon page load, I would normally look to the .live
or .delegate
methods to bind to an event, but in this case, what 'event' would I bind to to say "once this element is on the page, then call this method on it".
Or am I going about this totally the wrong way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您只需将此调用添加到链接中加载的 ajax 中即可。
You'll need to just add this call to the ajax that loads in the links.
没有这样的事件。
当您将元素添加到页面时,您需要调用该插件。
此示例创建一个新的
元素。如果您从 AJAX 响应中获取一些元素,请根据这些元素调用它:
There is no such event.
You need to invoke the plugin when you add the elements to the page.
This example creates a new
<a>
element. If you're getting some elements from an AJAX response, call it against those:尚未测试:
Not yet tested :
使用 .live 函数完全可以做到这一点。您只需要使用 DOMNodeInserted 事件。
This is entirely possible using the .live function. You just need to use the DOMNodeInserted event.