1

我正在input box使用window.getSelection method.

input box出于某种原因,如果我添加,我无法输入任何内容

window.getSelection().removeAllRanges();

在我的代码中。

我的代码:

//register a mouseup event to the whole page so wherever user releases mouse it trigger mouseUP function

//body -> whole html page
addEvent(body, 'onmouseup', mouseUp);

function mouseUp(){
    window.getSelection().removeAllRanges();
}

我在页面上有几个input boxes,如果我添加

window.getSelection().removeAllRanges();

光标甚至不会出现,我无法输入任何内容。

谁能给我一个提示?非常感谢!

4

1 回答 1

0

原因是您的 onmousup 事件,它会在您单击输入字段后立即移除光标。将这些行添加到 mouseUp 函数的开头,以防止触发 removeAllRanges。

var x = window.getSelection();
if( x == '' && e.target == '[object HTMLInputElement]' ){
       return true;
}

有关完整的工作示例,请参见:jsfiddle

于 2013-08-08T23:06:45.643 回答