2012-01-16 2 views
4

저는 <div>에 몇 개의 링크 (<a> 태그)와 다른 요소가 포함되어 있습니다. <div>은 버튼처럼 동작하기를 원합니다. 즉, 사용자가 버튼의 모든 부분을 클릭 할 때마다 링크로 이동해야합니다. 다음과 같은 몇 가지 솔루션이 있습니다. Make a div into a link jQuery에서도 작동하도록 만들 수 있지만 문제는 의 <a> 태그가 이전과 같이 작동하도록하려는 것입니다. 나는 이것을 가능하게하는 해결책을 찾지 못했습니다. 어떻게해야합니까?DIV를 클릭 할 수없는 영역에서 클릭 할 수있게 만드는 방법은 무엇입니까?

답변

3
$('#mydiv a').click(function(e) { 
    e.stopPropagation(); 
}); 

이벤트가 거품을 내뿜습니다. 이를 전파라고합니다. jQuery 이벤트 객체에 stopPropagation을 호출하면 해당 이벤트가 포함 된 div까지 버블 링되는 것을 방지해야합니다.

jQuery Docs here

그리고

이벤트 핸들러가되지 return false를 않기 때문에, 다음 <a> 태그 처리 브라우저 기본 클릭은 여전히 ​​ href가 정상적으로 다음에 의미 발사됩니다.

체크 아웃 여기에 작업 예 : http://jsfiddle.net/Squeegy/2phtM/

+0

감사 같은 것을. 그것은 내가 찾고 있었던 바로 그 것이다. –

1

난 당신이 클릭을 유발하는 요소를 결정하는 이벤트 핸들러를 필요가 있다고 생각 -이

<html> 
    <head> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     <script> 
      $(function() { 
       $("#links").click(handler); 
      }) 
      function handler(event) { 

       var $target = $(event.target); 
       if($target.is("#links")) { 

        window.location = "divlocation.htm" 
       } 
      } 
     </script> 
    </head> 
    <body> 
     <div id="links" style="background: yellow"> 
      <a href="test1.htm">link 1</a><br> 
      <a href="test2.htm">link 2</a> 
     </div> 
    </body> 
</html> 
관련 문제