SuityeCRM - jQuery 代码无法在 Chrome 上运行
SuityeCRM - jQuery Code not working On Chrome
$("#subpanel_title_documents").click(function(){
alert("clicked");
alert("loaded");
$("#documents_cases_create_button").click(function(){
alert("clicked");
setTimeout(function(){console.log("undefined");},1000);
alert("test");
setTimeout(function(){
if($("#account_id").attr("data-id-value") != ""){
alert("account");
setTimeout(function(){
var idAccount = $("#account_id").attr("data-id-value");
var nAccount = $("#account_id").text();
alert(idAccount);
alert(nAccount);
$("#account_id_c").val(idAccount);
$("#accounts_c").val(nAccount);
},500);
}else{
$("#subpanel_title_contacts").click();
alert("subpanel open");
setTimeout(function(){
var idcontact = $("*[data-module='Contacts']").data("record-id");
var nomecontact = $("*[data-module='Contacts']").data("module-name");
alert(idcontact);
alert(nomecontact);
$("#contact_id_c").val(idcontact);
$("#contacts_c").val(nomecontact);
$("#Documents_subpanel_full_form_button").click();
},1500);
};
},1000);
});
});
我正在尝试在一些操作后填充 SuiteCRM 上的一些字段。
此代码在 Mozilla Firefox 上运行良好,但在 Google Chrome 上运行不佳。在第二个警报 ( alert("loaded") ) 停止在 Chrome 上工作。
任何人都可以理解问题是什么吗?
您应该包括更多详细信息,例如 module/detail view/edit vew/popup 您在尝试这个吗?
例如在帐户模块中这个 ID documents_cases_create_button
不存在。
此外,我还没有在 SuiteCRM 官方回购中找到这个 documents_cases_create_button
存在的证据。
如果您要定制,请注明。
此外,如果您使用 AJAX 加载内容,并且 AJAX 在单击 $("#subpanel_title_documents").click(function(){
的同时执行,那么 DOM 对象 documents_cases_create_button
可能还没有。
如果您不知道,请在设置此侦听器之前设置超时
$("#subpanel_title_documents").click(function(){
console.log("Documents Clicked")
setTimeout(function(){
console.log("Just waited 3 secs for dom to finish loading AJAX content")
$("#documents_cases_create_button").click(function(){
console.log("I finally got the event I wanted");
})
},3000);
})
如果那是问题所在,那么您的选择是设置某种观察者。 (这就是我在没有本机回调时对 AJAX 加载的内容所做的)。
$("#subpanel_title_documents").click(function(){
alert("clicked");
alert("loaded");
$("#documents_cases_create_button").click(function(){
alert("clicked");
setTimeout(function(){console.log("undefined");},1000);
alert("test");
setTimeout(function(){
if($("#account_id").attr("data-id-value") != ""){
alert("account");
setTimeout(function(){
var idAccount = $("#account_id").attr("data-id-value");
var nAccount = $("#account_id").text();
alert(idAccount);
alert(nAccount);
$("#account_id_c").val(idAccount);
$("#accounts_c").val(nAccount);
},500);
}else{
$("#subpanel_title_contacts").click();
alert("subpanel open");
setTimeout(function(){
var idcontact = $("*[data-module='Contacts']").data("record-id");
var nomecontact = $("*[data-module='Contacts']").data("module-name");
alert(idcontact);
alert(nomecontact);
$("#contact_id_c").val(idcontact);
$("#contacts_c").val(nomecontact);
$("#Documents_subpanel_full_form_button").click();
},1500);
};
},1000);
});
});
我正在尝试在一些操作后填充 SuiteCRM 上的一些字段。 此代码在 Mozilla Firefox 上运行良好,但在 Google Chrome 上运行不佳。在第二个警报 ( alert("loaded") ) 停止在 Chrome 上工作。 任何人都可以理解问题是什么吗?
您应该包括更多详细信息,例如 module/detail view/edit vew/popup 您在尝试这个吗?
例如在帐户模块中这个 ID documents_cases_create_button
不存在。
此外,我还没有在 SuiteCRM 官方回购中找到这个 documents_cases_create_button
存在的证据。
如果您要定制,请注明。
此外,如果您使用 AJAX 加载内容,并且 AJAX 在单击 $("#subpanel_title_documents").click(function(){
的同时执行,那么 DOM 对象 documents_cases_create_button
可能还没有。
如果您不知道,请在设置此侦听器之前设置超时
$("#subpanel_title_documents").click(function(){
console.log("Documents Clicked")
setTimeout(function(){
console.log("Just waited 3 secs for dom to finish loading AJAX content")
$("#documents_cases_create_button").click(function(){
console.log("I finally got the event I wanted");
})
},3000);
})
如果那是问题所在,那么您的选择是设置某种观察者。 (这就是我在没有本机回调时对 AJAX 加载的内容所做的)。