在函数中使 Javascript 文件在本地可用时,第一次它不起作用
When making Javascript files locally available in function, first time it's not working
在我的母版页中我有一个按钮,单击此按钮将在弹出窗口中打开一个页面。对于弹出窗口,我有一个 javascript 文件。现在我希望这个文件在点击功能中本地加载。
现在的问题是第一次它不工作,然后它工作正常。
第一次点击按钮时出现以下错误:
未捕获的 ReferenceError:未定义 OpenModelWindow
但在那之后它工作正常。这是我的代码:
$('#<%=btnAddEvent.ClientID %>').click(function (e) {
var script; var EventType="Task";
script = document.createElement("script");
script.type = "text/javascript";
script.src = "../Calendar/JS/wdCalendar/src/Plugins/Common.js"; //OpenModelWindow is defined here
document.getElementsByTagName("head")[0].appendChild(script);
var url = "../Calendar/add.aspx" + EventType;
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
return false;
}
任何人都可以告诉我我做错了什么,以至于我第一次没有得到想要的结果。
您可以通过两种方式完成
第一
在文档准备就绪时加载脚本,然后使用您的按钮单击打开模型
像这样
$(document).ready(function(){
var script;
script = document.createElement("script");
script.type = "text/javascript";
script.src = "../Calendar/JS/wdCalendar/src/Plugins/Common.js"; //OpenModelWindow is defined here
document.getElementsByTagName("head")[0].appendChild(script);
});
现在点击按钮打开模式
$('#<%=btnAddEvent.ClientID %>').click(function (e) {
var EventType="Task";
var url = "../Calendar/add.aspx" + EventType;
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
return false;
}
第二
如果您只想在单击按钮时加载脚本从 jquery 加载脚本并在加载脚本后执行打开模式
$('#<%=btnAddEvent.ClientID %>').click(function (e) {
$.getScript( "../Calendar/JS/wdCalendar/src/Plugins/Common.js", function(data, textStatus, jqxhr ) {
if(jqxhr.status == 200)
{
var EventType="Task";
var url = "../Calendar/add.aspx" + EventType;
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
return false;
}
});
我使用了 jQuery done 方法,现在对我有用了...
$.getScript('../Calendar/JS/wdCalendar/src/Plugins/Common.js').done(function(){
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
});
在我的母版页中我有一个按钮,单击此按钮将在弹出窗口中打开一个页面。对于弹出窗口,我有一个 javascript 文件。现在我希望这个文件在点击功能中本地加载。
现在的问题是第一次它不工作,然后它工作正常。
第一次点击按钮时出现以下错误:
未捕获的 ReferenceError:未定义 OpenModelWindow
但在那之后它工作正常。这是我的代码:
$('#<%=btnAddEvent.ClientID %>').click(function (e) {
var script; var EventType="Task";
script = document.createElement("script");
script.type = "text/javascript";
script.src = "../Calendar/JS/wdCalendar/src/Plugins/Common.js"; //OpenModelWindow is defined here
document.getElementsByTagName("head")[0].appendChild(script);
var url = "../Calendar/add.aspx" + EventType;
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
return false;
}
任何人都可以告诉我我做错了什么,以至于我第一次没有得到想要的结果。
您可以通过两种方式完成
第一
在文档准备就绪时加载脚本,然后使用您的按钮单击打开模型 像这样
$(document).ready(function(){
var script;
script = document.createElement("script");
script.type = "text/javascript";
script.src = "../Calendar/JS/wdCalendar/src/Plugins/Common.js"; //OpenModelWindow is defined here
document.getElementsByTagName("head")[0].appendChild(script);
});
现在点击按钮打开模式
$('#<%=btnAddEvent.ClientID %>').click(function (e) {
var EventType="Task";
var url = "../Calendar/add.aspx" + EventType;
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
return false;
}
第二
如果您只想在单击按钮时加载脚本从 jquery 加载脚本并在加载脚本后执行打开模式
$('#<%=btnAddEvent.ClientID %>').click(function (e) {
$.getScript( "../Calendar/JS/wdCalendar/src/Plugins/Common.js", function(data, textStatus, jqxhr ) {
if(jqxhr.status == 200)
{
var EventType="Task";
var url = "../Calendar/add.aspx" + EventType;
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
return false;
}
});
我使用了 jQuery done 方法,现在对我有用了...
$.getScript('../Calendar/JS/wdCalendar/src/Plugins/Common.js').done(function(){
OpenModelWindow(url,
{ width: 660, height: 400,
caption: newcaption,
});
});