我正在创建一个颜色框,每次用户登录时都会提示。我有后端工作,但是当我尝试创建颜色框时,我一直面临着一些问题。首先,我无法在页面加载时创建颜色框,因为“我认为”我正在获取一些数据,这导致颜色框为空,所以我添加了延迟和隐藏的链接,以便在一段时间后触发。但现在我遇到的问题是,click事件是在无限循环中触发并使站点崩溃。
(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);
通过此更改,颜色框会在不触发click事件的情况下提示,但即使colorbox仍在无限循环中进行实时加载。它可能是与drupal行为或某些colorbox参数相关的东西吗?
答案 0 :(得分:1)
我最终在我的主题上使用了一个没有drupal行为的脚本。我已经看到我所遇到的冲突是由于彩盒的ajax和drupal行为引起的。我应该使用上下文或一次()来过滤它,但我不知道如何。