我有这个代码适用于所有浏览器,但由于某些原因,Opera是一个很大的痛苦,并抛出错误:
Uncaught exception: TypeError: 'OBJ.data' is not a function
我的主插件OBJECT名为Box,在其中我有一个名为content的变量。
Box={
content:''
}
单击图像后,它会将图像的父级“a”分配给Box.content变量。
Box.content=$(this).parents('a:first');
然后我使用以下方法在插件的其他地方引用它:
Box.content.dosomething()....
这适用于所有浏览器,但Opera和IE除外,它会引发上述错误。有任何想法吗? 谢谢!
;(function($){jQuery.fn.PluginName=function(options){var defaults={
....},
Box={content:''},
o=$.extend({},defaults,options||{});
function myFunction(){
// SHOULD BE ABLE TO REFENCE IT HERE....
Box.content.dosomething();
};
$('.image').bind('click',function(){
Box.content=$(this).parents('a:first');
// DO SOME OTHER STUFF
myFunction();
});
答案 0 :(得分:0)
发现问题与IE有关并且(没有检查但是我假设)Opera也正在触发Window resize事件onload,其中(当时Box.content变量为空且未分配)。这是一个相关的链接: enter link description here