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 回答