4

我正在创建一个 jquery 插件。这在 chrome、Mozilla 和 IE 9 中运行良好,但在 IE 8/7 中,我在“$ctxObj.control2.val(opt.topicDefaultText);”行出现 Permission denied 错误

IE控制台

Test.Plugin = function () {
var $ctxObj = {};
var opt = {};
var initEvents = function() {

    $ctxObj.control2.val(opt.topicDefaultText);

    $ctxObj.control2.on('click', function (e) {
        somefunction();
    });

    $ctxObj.control1.on('click',function(){
 anotherfunction();
    });
};
return {
    init: function (options) {
        var defaultOptions = {
            control1: '#control1',
            control2: '#control2',
            topicDefaultText:'test'
        };
        opt = $.extend({}, defaultOptions, options);
        $ctxObj.control1 = $(opt.control1);
        $ctxObj.control2 = $(opt.control2);
        initEvents();
    }
};

} ();

如果我为每个控件声明一个变量,如下所示:

var $control1 =$('#control1');

var $control2 =$('#control2');

然后使用代码

   $control2.val(opt.topicDefaultText);

    $control2.on('click', function (e) {
        somefunction();
    });

    $control1.on('click',function(){
      anotherfunction();
    });

使用上面的代码我在 IE 中没有收到任何错误,但是在这个插件中我有很多控件,所以我不想这样做。

4

2 回答 2

0

IE 对 jQuery 有很大的问题。当我在其上测试 jQuery 时,我的 IE9 总是告诉我启用 ActiveX 控件。尝试告诉您的 IE 用户启用 ActiveX 控件。

于 2013-01-21T12:26:16.203 回答
0

确保设置了所有对象属性,并且您实际上有权访问它们。

于 2012-11-24T10:05:47.347 回答