2009-10-13 4 views
4

javascript를 사용하여 텍스트 필드에서 키 누르기를 강제로 시도하고 있습니다. 이 기능은 IE에서만 작동해야하지만 작동하지 않습니다.IE의 텍스트 영역 내에서 자바 스크립트 키보드 이벤트 강제

아무도 도와 줄 수 있습니까?

내 테스트 스크립트는이 하나입니다 사전에

<html> 
    <body> 
    <input type="text" id="txtfld"> 
    <input type="button" onclick="go()"> 
    <script> 
    function go() { 
     var q = document.getElementById('txtfld'); 
     q.style.backgroundColor='yellow'; 
     q.focus(); 

     var evObj = document.createEventObject(); 
     evObj.keyCode = 84; // [T] key 
     q.fireEvent('onkeypress', evObj); 
    } 
    </script> 
    </body> 
</html> 

감사합니다!

답변

2

가짜 이벤트로 브라우저의 기본 이벤트 동작을 시도하는 것은 좋지 않습니다. 그것이 할 수있는 한은 브라우저 특정적이고 신뢰할 수 없다. 당신은 필드에 문자 't'를 추가하려면

, 그렇게 말 : 더 복잡한 경우

q.value+= 't'; 

현재 커서 위치에 문자를 삽입 할 경우, 당신은 분기 코드가 필요 같은 document.selection (IE) 및 field.selectionStart/End (기타).

+0

답변 해 주셔서 감사합니다. 이것은 웹 자동화 실험용입니다. IE는 텍스트 필드를 통해 이벤트를 발생 시키지만 내용을 추가하지는 않습니다. – Bruno

관련 문제