2017-11-28 2 views
0

jquery에서 keyup이 두 번 트리거되는 이유는 무엇입니까? 나는 당신이 두 번 그 보통처럼 행동하지 않을 청취자를 추가하지 않는 한Keyup 함수가 두 번 호출됩니다

$("#inputid").keyup(function(e) { 
      console.log("inputttt calling twice"); 
       var userQuantity =$('#id').val(); 

      }); 
+0

물론 .. 질문에 대답을 올리십시오. – Sudha

+0

원래의 질문을 편집하고 주석에 코드를 추가해야합니다. 편집 버튼은 태그 바로 아래에 있습니다 –

+2

제 생각에는 동일한 이벤트 수신기를 두 번 추가하는 것입니다. 같은 스크립트를 두 번로드하고 있습니까? – charlietfl

답변

-1

PLS 도와 바인딩을 해제와 함께 시도하고 작동하지 누구나 method..but 떨어져있다.

동일한 요소에서 여러 이벤트 리스너가 나타나지 않도록하려면 리스너를 제거한 다음 추가하십시오. 또 다른 방법은 이벤트 리스너를 추가하기 전에 콜백 함수를 정의하는 것입니다. 아무리 횟수를 많이 사용하더라도 요소에 리스너를 한 번만 추가합니다. 아래처럼.

콜백 함수를 미리

제공

var input = document.getElementById('some'); 
 

 

 
var callback = function(event) { 
 
    console.log("PRINT"); 
 
} 
 

 
input.addEventListener("keyup", callback) 
 

 
// input.removeEventListener("keyup", callback) 
 

 
input.addEventListener("keyup", callback)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="some" value="" >

콜백

var input = document.getElementById('some'); 
 

 
input.addEventListener("keyup", function(event) { 
 
    console.log("PRINT"); 
 
}) 
 

 
// input.removeEventListener("keyup", callback) 
 

 
input.addEventListener("keyup", function(event) { 
 
    console.log("PRINT"); 
 
})
<input id="some" value="">
같은 익명 함수

+0

OP가 jQuery를 사용하여 리스너를 추가 할 때 어떻게 도움이됩니까? ? – charlietfl

+0

@charlietfl 글쎄, 나는 질문의 제목에서 비슷한 생각을 가진 사람들이 도움이 될 것이라고 생각했다. 이 답변을 대답으로 받아 들일지 여부는 영업 시간까지입니다. 귀하의 의견은 이미 그녀를 도왔습니다. –

관련 문제