2011-09-12 8 views
6

일부 html이 있습니다.HTML 앵커 태그 기울임 꼴 태그

<a href="#"> 
    <i class="some-bg" /> 
    Some Text 
</a> 

일부 자바 스크립트.

$("a").bind("touchstart", function (e) { 
    e.preventDefault(); 

    console.log("Tag: " + e.target); 
    console.log("Tag Name: " + e.target.tagName); 
}); 

응답이 있습니다.

Tag: [object HTMLElement] 
Tag Name: I 

왜? 앵커가되어서는 안 될까요?

이이 트릭을 할 것입니다

$("a, a *").bind(function() { 
    e.stopPropagation(); 

    // other stuff 
}); 

업데이트?

+3

'i','b' 및'u'는 의미에 대해별로 의미하지 않는다는 것을 기억하십시오. [더 좋은 방법이 있습니다] (http://www.impressivewebs.com/bold-italic-html5/) ... –

답변

4

왜?

당신이 접촉하기 때문에 <i> (다음 이벤트가 <a>까지 버블).

앵커가되어서는 안됩니까?

아니요 실제로 이벤트를 트리거 한 요소가 아니라 이벤트가 바인딩 된 요소를 사용하려는 경우 currentTarget을 사용하십시오.

+0

"i"를 만지고 이벤트가 두 번 해지면 어떻게 될까요? – Neutralizer

+0

이봐, 난 그냥 문제를 깨달았다. 문제는 "i"가 "a"를 표시하고 대부분의 버튼 공간이 "i"의 배경 이미지이므로 버튼을 터치하려고 할 때 손가락이 이미지 위에 있고 텍스트가 아니라면 , 처리기가 해고되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? – Neutralizer