4

Firefox の右クリックの動作は、Chrome や IE とは異なります。テキストフィールドを右クリックしてもキャレットが動かない。これは Firefox にのみ適用される標準ですか? これは私をイライラさせます。

キャレットを移動させて、それがどこにあるかを知りelement.selectionStart、ユーザーが選択した単語を把握できるようにします。他のすべてのブラウザーは、Firefox を除いて正常に動作します。

標準が何であるか、またはこれを回避する方法を知っている人はいますか? Firefox は、スペル チェックが機能するため、右クリックが発生したときにユーザーが選択した単語を正確に認識します。しかし、私は知りません。

私のコード:-

function onContextMenu(evt){
        var el = evt.getTarget(), selStart, r, ln = el.value.length;
        // Get the location of the cursor
        if (el.createTextRange) { // IE
            r = document.selection.createRange().duplicate();
            r.moveEnd('textedit');
            selStart = (r.text == '') ? ln : ln - r.text.length;
        } else { // All compliant browsers
            selStart = el.selectionStart;         //works fine for chrome
        }
}

問題を説明するスクリーン ショット:-

ここに画像の説明を入力

4

1 に答える 1

1

わかった。Firefoxでは、event.rangeOffsetを使用できます。

于 2012-05-15T14:03:06.430 に答える