私はいくつかの入力を持つフォームを持っています。これらの入力がクリックされると、jquery(farbtastic)用のカラーピッカーアドオンがフェードイン/アウトドロップダウン内にロードされます。jQueryメニューへの「Do not Repeat Yourself」アプローチ
各入力は一意であり、毎回異なるカラーピッカーを読み込みます。私はこのために使用しているコードは次のとおりです。
// Color Picker Popup Menus
$('html, #mgBgColor, input').click(function() {
$('#picker-mgBgColor').fadeOut('fast');
});
$('#mgBgColor, #picker-mgBgColor').click(function(e){
if(!$('#picker-mgBgColor').is(":visible")) {
$('#picker-mgBgColor').stop().fadeIn('fast');
}
e.stopPropagation();
});
#mgBgColor
特定の入力フィールドのIDです。
#picker-mgBgColor
は、HTMLカラーピッカーに
を呼び出しIDです:
<p>
<label for="bg">BG color:</label>
<input type="input" id="mgBgColor" name="bg" value="" />
<span id="picker-mgBgColor"></span>
</p>
<p>
<label for="textcolor">Text color:</label>
<input type="input" id="mgTextColor" name="textcolor" value="" />
<span id="picker-mgTextColor"></span>
</p>
私の問題は、私はいくつかの異なる入力フィールドのためにこのコードの大きな塊を繰り返してるということです。 すべてのカラーピッカーIDで機能するドロップダウンメニューを1つだけコーディングするにはどうすればよいですか?
代わりに '$(this)'を使用してください。... ... –