Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery dropkick插件加载不同类型页面时出现的奇怪问题_Javascript_Jquery - Fatal编程技术网

Javascript jquery dropkick插件加载不同类型页面时出现的奇怪问题

Javascript jquery dropkick插件加载不同类型页面时出现的奇怪问题,javascript,jquery,Javascript,Jquery,我正在使用一个名为dropkick的jQuery插件使我的选择框看起来更漂亮 在页面加载时,我执行一个ajax请求,从数据库中检索数据,并用它填充表单 填充此表单后,我调用$.dropkick('reset')将更新dropkick元素以表示表单数据 如果我使用F5进行页面刷新,这很好,但是如果我通过转到url栏并点击enter进行刷新,那么新页面加载时,我会得到一个错误,即$.dropkick不是函数。因此,就好像dropkick插件当时还没有加载一样 但问题是,当ajax请求返回时,它在刷新

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

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

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

如果我使用F5进行页面刷新,这很好,但是如果我通过转到url栏并点击enter进行刷新,那么新页面加载时,我会得到一个错误,即$.dropkick不是函数。因此,就好像dropkick插件当时还没有加载一样

但问题是,当ajax请求返回时,它在刷新后(而不是新页面加载后)的工作方式看起来非常奇怪


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

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

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

在调用dropkick之前,您可以使用typeof检查dropkick是否已定义,如果未定义,则通过$.getScript收集它,该脚本将加载它以在回调中使用

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

是否在ajax成功函数中调用dropkick函数是从我的ajax请求的成功函数中调用它是否在ajax成功函数中调用dropkick函数是从我的ajax成功函数中调用它request@geoffs3310这是否解决了您的问题,或者您是否需要一种您认为不同的方法?=]@geoffs3310这是否解决了您的问题,或者您是否需要一种您认为不同的方法?=]