19

Chrome内で新しいinput="color"要素を使用すると、新しいポップアップダイアログがトリガーされます。

スクリーンショットカラーダイアログ

[OK]をクリックした後だけでなく、このプレビューウィンドウの値が変更されるとすぐに起動するイベントハンドラーがあるかどうかを知りたいです。

jQuery('#colorinput').on('change', function() { // fires only after clicking OK
    jQuery('#main').css('background-color', jQuery(this).val()); 
 });​

http://jsfiddle.net/Riesling/PEGS4/を参照してください

4

3 に答える 3

17

あなたが探しているのはinputイベントです。

変更したフィドルは、すべての(まともな)ブラウザで機能するはずです。

$('#colorinput').on('input', function() { ... } )
于 2014-09-03T17:20:58.300 に答える
1

HTML仕様ごとに入力イベントが本当に必要です。input要素がフォーカスを失う前にchangeイベントが発生することを保証するものはありません。

「ユーザーがコントロールのデータを変更すると、inputイベントが発生します。changeイベントは、値がコミットされたとき、コントロールにとって意味がある場合、またはコントロールがフォーカスを失ったときに発生します。」

于 2014-09-03T17:34:58.320 に答える
-2

色入力の値を取得するには、 w3schoolonchangeで提供されているイベント属性を使用する必要があります

<input name="eventColor" type="color" onchange="getColorVal(eventColor.value)"/>

イベントを処理する関数を定義します

 function getColorVal(colorValue){

     alert(colorValue);
}
于 2013-01-17T11:07:52.443 に答える