我正在创建一个 jquery 插件。这在 chrome、Mozilla 和 IE 9 中运行良好,但在 IE 8/7 中,我在“$ctxObj.control2.val(opt.topicDefaultText);”行出现 Permission denied 错误
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 中没有收到任何错误,但是在这个插件中我有很多控件,所以我不想这样做。