-1
다음 코드는 내가 만드는 maths 퍼즐의 단순화 된 버전입니다. 문제는 이것입니다 - 'inc'변수가 '0'(25 행)으로 재설정되면 입력 값 $ ('# userInput') .val();은 #testMessage div에 더 이상 표시되지 않습니다. 나는 카운트 변수와 스크립트에 경고를 추가 할 경우keydown 이벤트의 다중 트리거
<body>
<input type="text" id="userInput">
<div id="testMessage"> </div>
<script src="jquery-1.9.1.min.js"></script>
<script>
var inc=0;
init();
function init(){
$('#userInput').focus();
$('#userInput').bind('keydown',function(event){
var keyCode = event.which;
if(keyCode == 13){ // RETURN KEY ...
var user_ans = $('#userInput').val();
$('#testMessage').html(user_ans);
$('#userInput').val('');
$('#userInput').focus();
if(inc > 2){ inc=0; }
init();
}
});
inc++;
}
</script>
</body>
, 나는를 keyDown 이벤트가 여러 번 트리거 것을 알 :
<body>
<input type="text" id="userInput">
<div id="testMessage"> </div>
<script src="jquery-1.9.1.min.js"></script>
<script>
var inc=0;
var count=0; // NEW VARIABLE
init();
function init(){
$('#userInput').focus();
$('#userInput').bind('keydown',function(event){
var keyCode = event.which;
if(keyCode == 13){ // RETURN KEY ...
var user_ans = $('#userInput').val();
$('#testMessage').html(user_ans);
$('#userInput').val('');
$('#userInput').focus();
alert(count++); // NEW ALERT
if(inc > 2){ inc=0; }
init();
}
});
inc++;
}
</script>
</body>
는 무슨 일이 일어나고 있는지 설명해주십시오.
keydown 이벤트 바인딩을 반복해서 중지하려면 어떻게해야합니까? – user2417713
init 함수를 다시 호출하지 마십시오. –