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
}
}
描述问题的屏幕截图:-
最佳答案
好的。在 firefox 中,可以使用 event.rangeOffset。
关于javascript - 右键单击文本字段是否应该像左键单击一样移动插入符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10513477/