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
}
}
問題について説明スクリーンショット: -
あなたが使用しようとしているコードを投稿できますか? – kapa
@bažmegakapa私は自分のコードを貼り付けました。 –