0

Chromeのコンテンツ編集可能領域に何かをドラッグする場合、「ドロップ」イベントをキャッチできるようにするにはe.preventDefault();、すべての「ドラッグオーバー」イベントを呼び出す必要があります。

これにより、カレットが非表示になり、ドロップする場所がわかります。これは、 document.caretRangeFromPoint()を介して手動でキャレット位置を更新することで回避できます。

これは、ウィンドウが非アクティブでない限り完全に機能します。その場合、カレットは非表示になります。

フィドル: http: //jsfiddle.net/zupa/mezAm/

ヘルパーを使用せずに表示する方法はありますか?

4

1 に答える 1

0

イベントで呼び出す必要がないことがわかりe.preventDefault()ましたdragover。これにより、ウィンドウが非アクティブであってもカーソルが表示されたままになります。drop(したがって、デフォルトのブラウザの動作はドロップカレットを表示することです。)すべてのチュートリアルでは、イベントをキャッチできるようにするには、ドロップカレットを呼び出す必要があると述べています。私はあなたがする必要があるだけだと信じていますreturn false

私はFirefox13.0.1とChrome19.0.1084.56でそれをテストしただけです(他のブラウザは今のところまだdropイベントを実装していません)。

于 2012-06-25T11:24:59.613 に答える