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
}
}
描述该问题的屏幕截图:-