div 및 버튼이있는 페이지가 있습니다. 나는 그들 모두에게 onClick 이벤트를 추가했다. 이제 div의 버튼을 클릭하면 div의 onClick도 실행됩니다. 내가 이것을 피할 수있는 방법이 있습니까? 여러 OnClick JQuery 이벤트 실행
은 (당신이 이벤트 버블 링을 사용하는 경우), 당신이 그것을 수정해야e.stopPropagation()
를 넣을 수 있습니다 링크 요소에 대한 리스너에서,
div 및 버튼이있는 페이지가 있습니다. 나는 그들 모두에게 onClick 이벤트를 추가했다. 이제 div의 버튼을 클릭하면 div의 onClick도 실행됩니다. 내가 이것을 피할 수있는 방법이 있습니까? 여러 OnClick JQuery 이벤트 실행
은 (당신이 이벤트 버블 링을 사용하는 경우), 당신이 그것을 수정해야e.stopPropagation()
를 넣을 수 있습니다 링크 요소에 대한 리스너에서,
를 호출하여 onclick 이벤트에 매개 변수로 이벤트를 전달하고
를 호출해야event.stopPropagation();
event.preventDefault();
귀하의 onclick 이벤트 할당해야한다 :
당신의 클릭 핸들러에서$(button).click(function(event) {
// script here
event.stopPropagation();
event.preventDefault();
});
을 주셔서 감사합니다.
jQuery를 사용하지 않는 경우 매개 변수를 addEventListener()
으로 설정하고 False
info - MDN으로 설정해야합니다. 당신은 당신의 이벤트가 DOM을 통해 움직이는 방향 (당신이 버블 링하기를 원한다)을 알고 있는지 확인하기를 원할 것입니다.
버튼 onClick 이벤트가 Div에 버블 링되지 않도록해야합니다. 당신이 모든 당신 논리를 수행 한 후에 그래서 기본적으로 버튼에 대한 온 클릭 함수의 끝에서, 당신이 시도 event.stopPropagation()
당신은 예를 들어, "인 stopPropagation"를 사용 할 수 있습니다 :
,"preventDefault"라는 브라우저와 관련하여 읽을 수있는 관련 기능이 있습니다.이 기능을 사용하면 브라우저가 자동으로 수행하는 작업 (예 : 제출 버튼을 클릭하면
도 참조) 페이지를 제출 https://developer.mozilla.org/en/DOM/event.stopPropagation http://api.jquery.com/event.stopPropagation/ What's the effect of adding 'return false' to a click event listener? http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/
위 작업 중 어느 것도, 시도하지 않는 경우 :
$("button").click(function(e) {
e.stopImmediatePropagation();
});
수정이! 우리가 당신을 도울 수있는 코드를 볼 수 있다고 생각합니까? 당신은 기본적으로 "나는 문제가있다"고 말했다. – jeschafe
** 이벤트 전파 **에 문제가있는 것 같습니다. – Scotty
[자녀 발사 부모 클릭 이벤트로부터 클릭 금지] (http://stackoverflow.com/questions/6929198/prevent-click-from-child-firing-parent-click-event) –