にこのコードを追加することができます私は、これは、クラス=「プラグイン」と私のオリジナルのマークアップですは、私は同じプラグイン
<span class="colorable">color me</span>
このマークアップの任意.plugin
を取り、それに追加します(プラグイン可能と呼ばれる)のプラグインを持っています。 JSで
<div class="plugin"></div>
<div class="plugin"></div>
<div class="plugin"></div>
、私は上記の<span>
のhtmlを追加し、それがこの
<div class="plugin"><span class="colorable">color me</span></div>
<div class="plugin"><span class="colorable">color me</span></div>
<div class="plugin"><span class="colorable">color me</span></div>
ように見えます。これは、すべてのプラグインですした$('.plugin').pluggable();
呼び出すように(このHTMLを追加)し、プラグイン自体は単純ですこの
(function($){
$.fn.pluggable = function() {
return this.each(function() {
$(this).html('<span class="colorable">color me</span>');
});
};
})(jQuery);
しかし、私が本当にやろうとしていることは、私はそれを直すその背景色を変更したい、クラス.colorableとのスパンがクリックされた場合、それ以降ということですd。私はこの
$('.colorable').click(function(){
$this.css("background-color", "orange");
});
のようにjQueryを使ってこれを行うことができますが、そこには、全体の動作は、自己が含まれるように同じプラグインに含まれているこのコードを持っている方法です。プラグインが動作する元の要素はクラス.plugin
ですが、最終的に色付けされる要素は新しいスパンマークアップで、追加されるのは.colorable
です。しかし、私は、この操作のためのすべてのコードを単一のプラグイン/ファイルに保存したいと思います。出来ますか?
(function($){
$.fn.pluggable = function() {
return this.each(function() {
$(this).html('<span class="colorable">color me</span>');
$(this).find(".colorable").click(function() {
$(this).css("background-color", "orange");
});
});
})(jQuery);