동일한 페이지의 다른 양식에 대해 이벤트 위임을 사용하려고합니다. 그러나 양식을 제출하는 동안 흥미로운 문제가 발생합니다.Javascript : 이벤트 위임 처리 이해
이벤트 위임이 본질적으로 전체 양식에서 '클릭'을 설정한다는 것을 잘 알고있는 하나의 양식 (제출 버튼 용)에서 '클릭'을 시도했습니다.
그러나 문제는 '클릭'이벤트가 실제로 양식 또는 버튼 요소뿐만 아니라 전체 페이지에 설정된다는 사실에서 비롯됩니다. 따라서 페이지를 클릭 할 때마다 양식의 '클릭'이벤트가 트리거됩니다. 그리고 이것은 모든 브라우저에서 발생합니다.
'change'이벤트에서도 동일한 문제가 발생합니다. 양식에서 'change'이벤트를 설정하면 양식의 하위 필드와 특정 양식 노드 외부의 다른 필드 모두에 대해 트리거됩니다.
그래서 이전에 이벤트 위임에 대해 묻는 질문이 questions 이었지만 실제로는이 문제에 대답하지 않았습니다. 그것은 심지어 문제입니까? 아마도 이것이 이벤트 위임이 작동하는 방법 일 것입니다. 그렇다면 전체 문서에 대해 이벤트가 트리거되도록 메모리를 낭비하지 않아도됩니까? 해결 방안은 무엇인가?
또한, 순수한 자바 스크립트에서 전파를 막기위한 브라우저 간 방법이 있습니까? 트리거 될 때 나는 유형별로 이벤트를 필터링 할 수 있습니다 알고
function doSomething(e)
{
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
}
하지만 유일한 것은 사람이 할 수 있다는 것입니다 : 내가 찾은 최고의 Quirksmode.org에 있었다? 제발 이해해주세요!
편집 :
구체적인 질문/또한 문서의 나머지 부분에 대한 이벤트를 트리거 할 수있는 것입니다 자사의 특정 필드의 이벤트를 처리하기위한 형태에 이벤트를 위임 여부? 그렇다면 어떻게 처리할까요? 이것이 이벤트 위임의 의도 된 동작이 아니라면 무엇이 원인 일 수 있습니까?
TL; DR. 당신은 더 정확하고 간결해야합니다 - 당신의 질문은 무엇입니까? – Reinmar
특정 질문을 추가했습니다. :) – user
흠 ... 지금 나는 당신의 질문을 얻지 않지만 어쩌면 다른 사람들이 :) – Reinmar