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
}
}
問題を説明するスクリーン ショット:-