2012-11-24 30 views
4

我正在創建一個jQuery插件。這工作正常在鉻,Mozilla和IE 9,但在IE 8/7我得到權限拒絕錯誤行「$ ctxObj.control2.val(opt.topicDefaultText);」在IE 8和7中使用jquery「權限被拒絕」

IE console

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(); 
    } 
}; 

}();

如果我聲明一個變量爲每個控制象下面這樣:

變量$ CONTROL1 = $( '#CONTROL1');

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

,然後用上面的代碼,我沒有得到任何錯誤在IE瀏覽器,但在這個插件我有這麼多的控​​制,所以我不希望做這樣使用代碼

$control2.val(opt.topicDefaultText); 

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

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

回答

0

確保所有對象屬性都已設置,並且您確實有權訪問它們。

0

IE瀏覽器對jQuery有很大的問題。當我測試jQuery時,我的IE9總是告訴我啓用ActiveX控件。嘗試告訴您的IE用戶啓用ActiveX控件。