.delegate 메서드를 사용하여 올바른 요소를 선택하는 데 문제가 있습니다.클릭 할 때 요소 선택
<div><span>Some element</span></div>
click 이벤트가 span 태그를 통해 발생한 경우에도 div 요소를 선택해야합니다. 어떤 아이디어, span 요소를 통해 div에 어떻게 도달 할 수 있습니까?
확인 - 분명하지 않으므로 다시 설명하려고합니다. 메인 DIV가 있습니다. 모든 이벤트를 캡처하여 처리해야하는 영역입니다. 각 "클릭", "keydown"및 "keyup"이벤트는 주 DIV 내부의 두 번째 레벨에 의해 트리거되어야합니다. 이 두 번째 레벨은 다른 DIV 목록입니다.
<div id="outline">
<div id="1"><span>Some Text <img src="could/be/picture" /></span></div>
<div id="2"><span>Some Text <ul><li>Could</li><li>Be</li><li>List</li></ul></span></div>
<div id="3"><span>Some Text <a href="#">Even a link</a></span></div>
</div>
U가 볼 수 있듯이, 거의 모든 것들이 DIV 안에있을 수 있습니다. 그리고 나는 그들 모두가 사건을 촉발시킬 수 없도록해야합니다. 수단 : IMG 또는 UL> LI 또는 A 결과를 밑에있는 DIV의 이벤트에서 ...
지금까지는 그렇게 좋았습니다. 그러나 DIV 및/또는 SPAN을 클릭 할 수 있으며, 선택하고 싶은 DIV에 여러 요소가 중첩되어 있는지 알 수 없습니다. – David
@David 질문에있는 코드를 게시 하시겠습니까? 어떤 요소가 클릭되었는지에 관계없이 콜백에 동일한 함수를 사용하는 경우 노드 유형을 확인해야합니다. div 인 경우 원하는 요소가 이미 있습니다. 그것이 범위라면 요소를 얻기 위해 DOM을 트래버스해야합니다. –
내 코드는 다음과 같습니다. .delegate (this, 'click.outline', function (e) { select_item (e); }); 및. var select_item = function (e) { $ selection = $ (e.target); set_selection_highlight(); }; 죄송합니다.이 게시물 구문을 강조 표시하는 방법을 모르겠습니다. – David