如何将fancybox绑定到动态添加的元素?

如何将fancybox绑定到动态添加的元素?,第1张

如何将fancybox绑定到动态添加元素

将fancybox(v1.3.x)绑定到动态添加的元素的最简单方法是:

1:升级到jQuery v1.7.x(如果尚未安装)

2:使用jQuery API

on()
+
focusin
事件设置脚本。

为了使它工作,你需要找到

parent
你的元素与元素
按你上面的代码(或
parent
parent
,因为你需要它),重视
jQueryon()
它,因此例如,具有这个网站:

<div id="container"> <a  href="image01.jpg">open image 01</a> <a  href="image02.jpg">open image 02</a></div>

.. 如上例所示,我们将使用(the)将event

on()
focusin
event应用于元素,例如:
id="container"``parent

$("#container").on("focusin", function(){ $("a.ajaxFancyBox").fancybox({  // fancybox API options here  'padding': 0 }); // fancybox}); // on

您可以根据需要应用任何fancybox选项。另外,对于不同类型的内容(

on()
方法内部),您可能具有不同的脚本,例如:

$("#container").on("focusin", function(){ $("a.ajaxFancyBox").fancybox({  // fancybox API options here  'padding': 0 }); // fancybox $("a.iframeFancyBox").fancybox({  // fancybox API options here  'padding': 0,  'width': 640,  'height': 320,  'type': 'iframe' }); // fancybox}); // on

重要提示 :以上示例在Chrome上无法正常运行。该 解决方法 是将添加

tabindex
属性绑定到你所有的元素像的fancybox

<div id="container"> <a tabindex="1"  href="image01.jpg">open image 01</a> <a tabindex="1"  href="image02.jpg">open image 02</a></div>

据我所知,它可以解决问题,并且可以在包括IE7 +在内的大多数浏览器中运行。

更新:2012年3月7日。

有人告诉我,此方法仅在将新内容添加到页面时有效,而在替换页面内容时无效。

该方法实际上适用于上述两种情况中的任何一种。只需确保将新替换内容也加载到应用该

.on()
方法的容器内即可。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5147415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存