2013-08-08 6 views
1

input box 필드에 window.getSelection method이라는 문제가 있습니다. 내 코드에이벤트가있는 입력란 필드에 이상한 문제가 발생했습니다

window.getSelection().removeAllRanges(); 

를 추가 할 경우 어떤 이유

, 나는 input box에 아무 것도 입력 할 수 없습니다.

내 코드 :

//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(); 

를 추가하면 커서도 표시되지 않습니다 내가 아무 것도 입력 할 수 없습니다.

아무에게도 내게이 힌트를 줄 수 있습니까? 고마워요!

+0

jsfiddle 내 대답 도움이 당신을 했습니까? 질문에 답변으로 표시하십시오. 그렇지 않으면 문제에 대한 자세한 내용을 게시하십시오. 고맙습니다 –

답변

0

입력 필드를 클릭하자마자 커서를 제거하는 onmousup 이벤트가 그 이유입니다. removeAllRanges가 실행되지 않도록 mouseUp 함수 시작 부분에 해당 행을 추가하십시오.

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

전체 작업 예를 들어, 참조 :

관련 문제