我正在使用一个名为dropkick的jQuery插件来使我的选择框看起来更好。
在页面加载时,我执行ajax请求以从我的数据库中检索数据并使用它填充表单。
填写此表单后,我调用$.dropkick('reset');
,它将更新dropkick元素以表示表单数据。
如果我使用F5进行页面刷新,这可以正常工作,但是如果我通过转到url栏并按Enter键进行刷新,那么有效地加载新页面我得到一个错误,说$ .dropkick不是一个函数。所以就好像那时没有加载dropkick插件一样。
事情是,当ajax请求回来时,看到非常奇怪的是它在刷新后如何工作但不是新的页面加载。
加载插件的脚本标记高于dom中的所有ajax代码,我使用的是firefox 19.0.1
答案 0 :(得分:1)
你可以在使用typeof调用之前检查是否定义了dropkick,如果没有 - 通过$ .getScript收集它,这将加载它以便在回调中使用,
$(document).ready(function() {
if ( typeof dropkick == "undefined" ) {
$.getScript("js/dropkick.js", function(){
$.dropkick('reset');
//.. More code
});
}
});