使用jquery dropkick插件加载不同类型页面的奇怪问题

时间:2013-03-08 12:57:07

标签: javascript jquery

我正在使用一个名为dropkick的jQuery插件来使我的选择框看起来更好。

在页面加载时,我执行ajax请求以从我的数据库中检索数据并使用它填充表单。

填写此表单后,我调用$.dropkick('reset');,它将更新dropkick元素以表示表单数据。

如果我使用F5进行页面刷新,这可以正常工作,但是如果我通过转到url栏并按Enter键进行刷新,那么有效地加载新页面我得到一个错误,说$ .dropkick不是一个函数。所以就好像那时没有加载dropkick插件一样。

事情是,当ajax请求回来时,看到非常奇怪的是它在刷新后如何工作但不是新的页面加载。

加载插件的脚本标记高于dom中的所有ajax代码,我使用的是firefox 19.0.1

1 个答案:

答案 0 :(得分:1)

你可以在使用typeof调用之前检查是否定义了dropkick,如果没有 - 通过$ .getScript收集它,这将加载它以便在回调中使用,

$(document).ready(function() {
    if ( typeof dropkick == "undefined" ) {
      $.getScript("js/dropkick.js", function(){
         $.dropkick('reset');  
         //.. More code
      });
    } 
});