小部件构建:Uncaught TypeError: Object [Object Object]没有方法'fan
Widget Building: Uncaught TypeError: Object [object Object] has no method 'fancybox'
为什么这样做:http://jsfiddle.net/w82W8/1/但这不是吗?: http://jsfiddle.net/w82W8/2/
这个问题可能看起来很复杂;您可能会想,为什么不直接使用第一个!?为什么你要用jQuery来加载JS+CSS资源,你可以很容易地在原始HTML中加载。
嗯,我正在构建一个web小部件的过程中,我想保持嵌入代码尽可能小。这个想法是让用户在他们的代码中包含单个<script type='text/javascript' src='http://mysite.com/widget.js'></script>
行,widget.js代码将处理所有细节。包括获取fancybox
我假设javascript没有等待fancybox.js加载,并立即尝试将fancybox()应用于触发器。当资产被加载时,我能在这里得到一个回调吗?我确信它们将被包含在DOM中……我已经用Chrome工具检查过了。
我知道这个问题以前在StackOverflow上被问过,但不是在这个上下文中。
谢谢,节日快乐!
在第二个方法中,在fancybox插件加载之前调用fancybox方法。如果您想在加载脚本后执行代码,请使用getScript
方法。
的例子:
$.getScript(
"http://jordanarsenault.com/fancy/fancybox.js",
function(){
$(".trigger").fancybox();
}
);
如果需要高级的资源加载器,可以考虑使用真正的加载器,如yepnope。
因为脚本没有立即加载。您必须使用$.getScript
并提供如下回调:http://jsfiddle.net/w82W8/3/.
$.getScript("http://jordanarsenault.com/fancy/fancybox.js", function() {
$(".trigger").fancybox(); // only run when script is loaded
});
相关文章:
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 有没有一种方法可以列出Ember.Object的所有绑定
- 如何取消object.prototypes javascript的一个函数
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 将*.js文件的内容放入Object中
- Object.prototype using 'this'
- 使用Object.create()的角度服务继承
- 如何使用object.assign()从其他对象引用基本对象属性
- 循环的数组推入在Object容器中具有不同的值
- reducers在redux中得到Function not Object,what'it’他错了
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- 在使用object.create创建的对象中使用super
- Join架构验证:Join.object定义数组中的有效键
- jquery打印[object XMLDocument]而不是文件内容
- ExtJS 4 Object.prototype fail
- JavaScript-从对象数组中输出随机OBJECT
- 为什么“{}+1”在Chrome和Firefox中排名第一,而字符串'[object object]1'
- 什么是“;原型;通过JavaScript中的Object Literal Notation创建的对象的链接
- 小部件构建:Uncaught TypeError: Object [Object Object]没有方法'fan