selectionStart在Opera 12中返回错误的值

时间:2013-11-08 00:06:38

标签: javascript opera

我有一个脚本,它使用selectionStart和selectionEnd替换网页上textField中的选定文本。它在除Opera 12之外的所有浏览器中都能正常工作(IE当然使用不同的方法)。在Opera的选择中,始终与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

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

0 个答案:

没有答案