2016-08-04 11 views
7

input[type="date"]要素のペーストイベントをキャプチャしようとしています。 Chromeではこのタイプの要素にコピー/ペーストすることはできません。回避策として、イベントのDIV要素にラップしようとしています。私が遭遇している問題は、日付入力をクリックしてを押すとCTRL + V何も起こらないということです。ただし、第1の本体のどこをクリックして、[OK]をクリックします日付の入力を押した場合Vは、それが動作CTRL + ...このオンペーストイベントはなぜ発生しないのですか?

<div onpaste="alert('test')"> 
    <input type="date"> 
</div> 

デモ:

https://jsfiddle.net/4qh31tn0/

EDIT: OK、onpasteイベントはDIVにある必要はなく、INPUT要素に移動できますが、問題は解決しません。 jsfiddleをロードして、入力をクリックし、CTRL + Vを押すと、何も起こりません。私はINPUT要素の外のどこかをクリックした場合、あらかじめ、入力をクリックして、 + VCTRLキーを押し、このバグが(私はそれはバグだと思う)あなたが代わりにすることができます固定されていないが、それは...

+0

これは、日付入力にのみ影響するChromeのバグのように見え始めています。 –

+0

なぜあなたはkeyupイベントを使用せず、日付を動的にテキストに変更し、日付を再び変更します。 –

+0

Opened https://bugs.chromium.org/p/chromium/issues/detail?id=634426 –

答えて

0

の作品入力がchangedの場合は、onkeydownonkeyuponclickonblurなどのイベントを使用しているかどうかを検出します。

+0

もう一度私の質問を参照してください。 * *は動作しますが、試してみる前に少なくとも一度はページ上の他の場所をクリックした場合に限ります。これは明らかにバグです。 –

+0

@Chris_Fしかしそれはバグだが、それはアイデアだ。バグが起こらないようにするには、答えにあるように、代わりに 'onchange'イベントをpolyfillしてみてください。 – Hydro

関連する問題