我正在使用 Yii CGridView 和 ajax 分页,其中一列是图像或内联 ajax 内容的链接,我想在该列中使用 FancyBox。
当我使用分页时,我失去了新元素的绑定(bind)。
如果我尝试在元素上单击,如果该元素已经具有如下所示的精美框,我总是会收到错误
$('a.fancy-img').live('click', function () {
$(this).fancybox({});
return false;
});
但是如果我在同一个链接上单击两次,我总是会收到 JavaScript 错误。
最佳答案
您尝试为元素初始化 fancybox 两次的问题,因此您的 JavaScript 中断并且无法工作。
您可以向已经具有 Fancybox init 的元素添加类或某些属性,这样您就不必为同一元素和您的 javascript 喙再次初始化它,如下所示:
$('a.fancy-img').live('click', function () {
var El = $(this);
$(this).fancybox({});
if (!El.hasClass('fancy-box-init')) {
El.addClass('fancy-box-init');
El.trigger('click');
}
return false;
});
关于javascript - Fancybox 点击与 Yii CGridView 中的元素绑定(bind)和 ajax 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22866796/