wordpress テーマのオプション ダッシュボードを作成していて、ほぼすべての作業を行うことができましたが、ここに問題があります。入力フィールドをクリックすると、カラーピッカーがポップアップ表示されるので、色を選択 (または代わりに HEX を記述) できます。カラーピッカーの外側をクリックすると、カラーピッカーは消えます。
しかし、2 つ目を追加すると、最初の入力がカラーピッカーをポップし、色の値を両方の入力に取り込み、ポップの外側をクリックしても消えません。次に、2 番目の入力をクリックすると、カラーピッカーはポップしません。
他のシナリオでは、最初に 2 番目のものをクリックすると、カラーピッカーがポップしますが、いずれかの入力が値を取ります。
私のコードはこれです:
HTML と PHP:
case 'colorpicker':
?>
<div class="options_input options_text color-picker">
<input class="pickcolor" name="<?php echo $value['id']; ?>"
id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>"
value="<?php if ( get_option( $value['id'] ) != "") {
echo stripslashes(get_option( $value['id']) ); } else { echo $value['std']; } ?>" />
<div id="colorpicker"></div>
</div>
<?php
break;
私のjs:
jQuery(document).ready(function($) {
$('#colorpicker').hide();
$('#colorpicker').farbtastic('.pickcolor');
$('#color').click(function() {
$('#colorpicker').fadeIn();
});
$(document).mousedown(function() {
$('#colorpicker').each(function() {
var display = $(this).css('display');
if ( display == 'block' )
$(this).fadeOut();
});
});
});
jQuery(document).ready(function($) {
$('.pickcolor').click( function(e) {
colorPicker = jQuery(this).next('div');
input = jQuery(this).prev('input');
$(colorPicker).farbtastic(input);
colorPicker.show();
e.preventDefault();
$(document).mousedown( function() {
$(colorPicker).hide();
});
});
});
複数のツインフィールドで動作するようにjsを微調整するのを手伝ってくれる人はいますか?