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

标签 javascript jquery

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

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

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

如果我使用 F5 进行页面刷新,则效果很好,但如果我通过转到网址栏并按 Enter 键进行刷新,那么新页面会有效加载,我会收到一条错误消息,指出 $.dropkick 不是函数。所以就好像 dropkick 插件此时尚未加载。

问题是,当 ajax 请求返回时,刷新后但不是新页面加载后它的工作方式似乎很奇怪。

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

最佳答案

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

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

关于javascript - 使用 jquery dropkick 插件加载不同类型页面的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15294523/

相关文章:

javascript - 如何更改 jQuery UI Draggable 中发生捕捉的距离

javascript - 使用未定义的常量 - 假定的 id

javascript - 单击后隐藏加一个按钮

javascript - XMLHttpRequest 页面卡住

javascript - 如何在lodash中从json数组中连接和查找?

javascript - 带有句法着色的 Json Pretty Print

javascript - 在 Javascript 生成列表中,如何将自定义属性添加到 <a> 标签?

javascript - aspect如何填写img标签?

javascript - scrollr.js 动画仅发生在位置固定的元素上

javascript - 更新 Windows Azure 移动服务中的查询 javascript/html