0
인라인 핸들러에서 이벤트를 가로 채고 전파를 중지하여 코드 처리기를 무시하려고합니다 (전파 불 활성화 코드 here에서 가져옴).js click event propogation을 중지 할 수없는 이유는 무엇입니까
다음 코드는 전파를 중지하지 않을뿐만 아니라 인라인 처리기를 실행하지 않습니다. 나는 틀린 것을 말할 수 없다.
바이올린 : http://jsfiddle.net/trKN4/3/
HTML :
<a onclick='stopIt(event);'>do it</a>
JS : jsFiddle는 onload
핸들러에서 모든 코드를 포장하기 때문에
function disableEventPropagation(event)
{
if (event.stopPropagation){
event.stopPropagation();
}
else if(window.event){
window.event.cancelBubble=true;
}
}
function stopIt(event) {
disableEventPropagation(event);
alert('dont do it');
}
$(function() {
$('a').click(function(e){
alert('im doing it');
});
});
이 화재 - http://jsfiddle.net/trKN4/11/ – Yarin
@Yarin propogation- 모두 경고를 중지하지 않습니다 : 그것은 전파를 중지 않습니다. 두 핸들러를 같은 요소에 두었으므로 어느 핸들러도 전파의 * 결과 *가 아닙니다. ''body ''에 jQuery 핸들러를 넣으면 작동하는 것을 볼 수 있습니다. http://jsfiddle.net/trKN4/12/ –
알 겠어,하지만 지금은 혼란 스럽군요. 인라인이 아닌 핸들러가 이벤트를 수신하지 못하도록 취소/방지하는 적절한 방법은 뭔가요? – Yarin