0

我有这段代码可以在所有浏览器中运行,但由于某种原因,Opera 非常痛苦并引发错误:

Uncaught exception: TypeError: 'OBJ.data' is not a function

我有一个名为 Box 的主插件 OBJECT,在其中我有一个名为 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();
});
4

1 回答 1

0

发现问题与 IE 有关,并且(尚未检查但我假设)Opera 也在触发 Window resize 事件 onload,该事件(当时 Box.content 变量为空且未分配)。这是一个相关链接: 在此处输入链接描述

于 2012-09-25T22:17:58.690 回答