0
jqueryプラグインを使用していますが、後で使用するためにプロパティを保存する際に問題が発生しています。次の例では、18, 50, 18
を探しているときにコンソール出力は18, 50, 50
です。私はなぜこれが起こっているのか理解していますが、複数の異なる方法で使用するためにproperties
を保存する良い方法を理解することはできません。私は何か非常に明白なものを見逃している気がしますが、私はそれを見ていません。jQueryプラグインの保存値
<html>
<body>
<h1>Hello</h1>
<h2>World</h2>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript">
(function ($) {
var commonOperations, methods, properties;
commonOperations = function() {
console.log(properties.height);
};
methods = {
init : function (overrides) {
var defaults;
defaults = { height: 18 };
properties = $.extend(defaults, overrides);
commonOperations();
},
foo : function() {
commonOperations();
}
};
$.fn.myPlugin = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist for jQuery.myPlugin');
}
};
}(jQuery));
$(document).ready(function() {
$("h1").myPlugin();
$("h2").myPlugin({ height: 50 });
$("h1").myPlugin("foo");
});
</script>
</body>
</html>
+1を - サポート情報はここで見つけることができます:http://docs.jquery.com/Plugins/オーサリング#データ –
ありがとうございます。それは完璧な意味合いがあります。 – Jason