2016-08-02 3 views
1

드문 문제가 아닙니다. 클릭당 두 번 실행되는 "클릭"이벤트가 있습니다.JQuery 클릭 재발 방지를 방지하려면 기본값을 방지하지 않으시겠습니까?

<label class='refinement genre-refinement'> 
    <input type='checkbox' /> 
    <div class='refinement-checkbox'></div> 
</label> 

$(".genre-refinement").click(function() { 
    console.log("Once or twice?"); 
} 

이 나는 ​​사용자 정의 CSS의 체크 박스를 가지고 있기 때문에 (그냥 한 번 CSS가 제거 될 때 작동) 발생하는 것으로 보인다.

나는 기본값 방지를 시도했지만 사용자 정의 체크 박스 검사를 차단합니다. 라벨을 확인하고 사용할 수 있어야하기 때문에 ("클릭"과 같은) 적절하지 않습니다. 나는 또한 트릭을 수행하지 않는 것 같지 않은 라벨 바깥으로 내 체크 박스를 움직이려고했다.

필자는 JQuery에 체크 표시를하고 사용자 정의 체크 박스를 없애면 문제를 해결할 수 있지만 대안이있을 것으로 기대하고있다.

팁 주셔서 감사합니다!

+0

는이 코드를 작업을 우리에게 보여 주시기 바랍니다 수 있지만 두 번 일어나고받을 이유 미스테리? – vijayP

+0

[jquery에서 두 번 클릭 한 이유는 무엇입니까?] (http://stackoverflow.com/questions/19595084/why-is-my-click-event-called-twice-in-jquery) – Luca

+0

CSS를 보여? 내 대답은 정확하지 않다고 생각한다. – Sherlock

답변

0

컨트롤을 비활성화하는 것은 어떻습니까?

$(".genre-refinement").click(function() { 
    console.log("Once or twice?"); 
    $(this).prop('disabled', true); 
} 

하지만 클릭이 두 번 호출 된 이유는 이상합니다. 체크 박스에

0

사용 변경 이벤트 대신

$(".genre-refinement :checkbox").change(function() { 
     var isChecked = this.checked; 
}); 

아직도 당신이 당신의 클릭 이벤트가