2010-12-08 10 views
2

入力フィールドのプリセット値を自動的にクリアし、ユーザーが値を入力しない場合は、入力フィールドのフォーカス値を自動的にクリアし、ブラーに戻す機能を作成しました。データをドラッグ&ドロップしたときに入力フィールドをクリアする

したがって、<input type="text" value="example" />の値は何もフォーカスしないように設定されます。

次のように私が直面しています問題は、次のとおりです。

私はページとドラッグでテキストのビットを選択し、入力フィールドにそれをドロップするとドロップされたテキストが適用される前に、フィールドはクリアされません。

代わりに入力フィールドの値はexampleLoremになります。これはLoremとは対照的です。

テキストが入力フィールドにドロップされた直後にデフォルト値を削除する適切な方法はありますか?

+0

をサポートしていませんし、もしそうなら:

にも注意してくださいonchangeイベントを手動でトリガーします。 –

答えて

4

あなたはフォーカスブラーよりも使用することができ、他のイベントがいくつかあります

この問題への最も興味深いの

あるべきdropdragenterdragleave

ご注意:MSIEで、それは次のようになりますフォーカスイベントはドロップ後に即座に発生するため、ドロップで強制的にフォーカスを呼び出す処理を行うために、ドロップ時に設定するフラグが必要です(このフラグをすぐに削除してください)。 、値が変更された場合は、すべてのxミリ秒(例えば50)をチェック...残念ながらオペラは、私が考えることができる唯一の安全な方法は、タイマーを使用しているものを、ドラッグアンドドロップ、イベント

+0

ありがとう、これは私を正しい軌道に乗せる。 私はこのページの例を使用して修正して、私が望む結果を達成しました。http://www.java2s.com/Tutorial/JavaScript/0480__Drag-Drop/ondropeventhandlerIE.htm – Ilium

0

プリセットをフォーカスしていなくても、ホバー(またはマウスオーバー)でクリアできますか?

+0

私はこれをやろうとしましたが、テキストの一部をドラッグしているときに、入力ボックスに何らかの理由でホバーやマウスオーバーのようなイベントが機能しませんでした。 – Ilium

関連する問題