javascript - Fancybox 点击与 Yii CGridView 中的元素绑定(bind)和 ajax 分页

标签 javascript jquery yii fancybox

我正在使用 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/

相关文章:

javascript - 隐藏和显示 HTML 表格中的内容

yii - 如何配置 yiibooster

javascript - 使用 Knockout 和 Knockout Validation 验证单选按钮未应用预期的 CSS 类

javascript - 如何在同一页面中打开网址,也可以使用javascript在新选项卡中打开

javascript - DOJO - 隐藏 DropDownMenu 的菜单项

javascript - 在 Jquery 中触发复选框更改类

javascript - 如何在react.js中向变量名添加另一个变量值

javascript - 使用 Javascript/jQuery 从 iframe 选择 HTML

php - yii 使用下拉列表对 CListView 进行排序

java - 与 Yii 等 php 框架相比,使用 GWT 有何优势