私は自分の問題を説明するために少しテストを書きました:
<div id="test1"></div>
<div id="test2"></div>
<script>
(function ($) {
$.widget("mseh.testIt", {
options : {
foo : false,
bar : false
},
_settedOptions : {
foo : false,
bar : false
},
readOptions : function() {
return this._settedOptions;
},
_init : function() {
this._initializeTest();
},
_initializeTest : function() {
var self = this;
$.each(self.options, function(key, value) {
self._settedOptions[key] = value;
});
}
});
})(jQuery);
$('#test1').testIt({ foo : true, bar : false});
$('#test2').testIt({ foo : true, bar : true});
console.log($('#test1').testIt('readOptions'));
console.log($('#test2').testIt('readOptions'));
</script>
この例では、両方のログで「foo」の場合はtrue(期待どおり)、「bar」の場合はtrue(期待どおりではない)が得られます。
これはバグですか、それとも何か間違ったことをしていますか?
jQuery1.7.2および1.9.1でテスト済み。jQueryUI1.9.2および1.10.0でテスト済み。
ありがとう