0

我有一个脚本,它使用 selectionStart 和 selectionEnd 替换网页上 textField 中的选定文本。它在除 Opera 12 之外的所有浏览器中都能正常工作(当然,IE 使用不同的方法)。在 Opera 中 selectionStart 总是与 selectionEnd 具有相同的值,无论我做什么。在读取值之前,我确实在 textField 控件上调用了 focus() 函数。

我还尝试读取 textField 的 onblur() 事件中的值,selectionStart 仍然与 selectionEnd 具有相同的值。我可能做错了什么?

编辑(添加代码):

var textField = document.getElementById("autocomplete");
if(textField != null)
{
    insertTextAtCursor(textField, propertyName);
}


function insertTextAtCursor(el, text) {


    var val = el.value, endIndex, range;
    if (typeof el.selectionStart != "undefined" && typeof el.selectionEnd != "undefined") {
        el.focus();
        startIndex = el.selectionStart;

        // el.selectionStart has wrong value here

这些只是代码的一部分。当用户单击网页上的文本链接时,将调用该代码。我注意到的一件奇怪的事情是,它有时会起作用,但大多数时候却不起作用。

4

0 回答 0