16

これは少し具体的な質問なので、すぐに要点を説明します。

私は、Web アプリケーションの一部の短くて単純なドラッグ アンド ドロップ ルーチンに取り組んでいます。ドラッグ アンド ドロップのビットは正常に動作しますが、ブラウザは引き続きデフォルトの操作を実行して動作するため、サイトは操作中にすべて醜いものになります。テキストの選択について。

主にマウスダウンまたはクリックイベントからfalseを返すことを含むいくつかのソリューションを試しました.一部のブラウザではテキスト選択を無効にしますが、マウスアップイベントを完全に無効にするようで、スクリプトの「ドロップ」ビットを台無しにしてこれを残しますマウスの周りにぶら下がっているパーマフローティングアイコン-面白くありません。

テキスト選択が完全になくなることは本当に望んでいません。それが理にかなっている場合は、ブラウザに...ドラッグ中にそれを行わないように提案したいだけです。影響を受ける領域 (関係する iframe がある) を知っているので、影響を受ける要素などにプロパティを簡単に適用できます。必要に応じてコードを投稿できますが、より一般的な解決策を探しています。これは見た目だけの問題なので、ほとんどのブラウザで機能する修正を探していますが、それほど重要ではありません。

ありがとう!

4

2 に答える 2

18

W3C ブラウザーでは、オブジェクトのpreventDefaultメソッドを呼び出すことができます。eventIE に相当するのは、 を に設定するreturnValueことfalseです。

function stopDefault(e) {
    if (e && e.preventDefault) {
        e.preventDefault();
    }
    else {
        window.event.returnValue = false;
    }
    return false;
}

編集:質問を読み直してください。最初のマウスダウンやクリックだけでなく、実際のドラッグを処理するコードの部分でデフォルトのアクションを防止したい場合もあります。

于 2009-05-21T06:24:43.110 に答える
0

私の知る限り、ドラッグされた要素は、マウス ポインターの下にある他の要素の上に配置する必要があります。マウス ポインターと一緒に移動する場合は、ページ上の選択が妨げられます。

于 2009-05-21T06:13:04.857 に答える