【问题标题】:Undesired colorbox reload in a drupal behaviourdrupal 行为中不需要的颜色框重新加载
【发布时间】:2014-02-27 16:06:55
【问题描述】:

我正在创建一个每次用户登录时都会提示的颜色框。我已经让后端正常工作,但是当我尝试创建颜色框时,我遇到了几个问题。首先,我无法在页面加载时创建颜色框,因为“我认为”我正在获取一些数据,这导致颜色框为空,所以我添加了延迟和隐藏链接,以便在一段时间后触发.但现在我遇到的问题是点击事件在无限循环中触发并导致网站崩溃。

(function($) {
  Drupal.behaviors.beerfactory = {
    attach: function (context, settings) {
        var state = Drupal.settings.mhf_login_popup.message_state;
        var message = Drupal.settings.mhf_login_popup.message_content;
        if (state) {
            $("#login-popup").colorbox({width:"900px", height:"600px", html:message});
            var id = setTimeout(function(){
                $("#login-popup").click();
            }, 1000);
        };

    }
};
})(jQuery);

有什么解决方法吗?还是我错过了什么?

编辑

我已删除点击触发并替换为:

        var id = setTimeout(function(){
          $.colorbox({width:"900px", height:"600px", html:message});
        }, 1000);

通过此更改,颜色框提示不会触发点击事件,但即使颜色框在无限循环中不断重新加载。可能是与 drupal 行为或某些颜色框参数有关的东西吗?

【问题讨论】:

    标签: javascript jquery drupal colorbox


    【解决方案1】:

    我最终在没有 Drupal 行为的情况下在我的主题上使用了脚本。我已经看到我的冲突是由于颜色框的 ajax 和 drupal 行为引起的。我应该使用 context 或 once() 过滤它,但我不知道如何。

    Reference

    【讨论】:

      猜你喜欢
      • 2011-11-17
      • 1970-01-01
      • 2018-08-26
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多