js

2013-01-12 1 views
0

때문에 토글 목록의 링크를 클릭 할 수 없습니다. 문제를 일으키는 자바 스크립트라는 것을 알고 있지만 어떻게 생각하지 못합니다. 링크를 롤오버하면 클릭 할 수있는 것처럼 보이지만 클릭 연결은되지 않습니다. 나는 내 CSS 중 어떤 Z- 색인도 사용하지 않고있다. 그리고 나는 그것을 설정하려했지만 차이를 만들지 않았습니다. 이 js에 가능한 원인이 있습니까?js

$(function(){ 
$('li.an_item').css('pointer','default').css('list-style-image','none'); 
$('li.an_item:has(ul)').click(function(event){ 
     if (this == event.target) { 
      $(this).css('list-style-image', 
       (!$(this).children().is(':hidden')) ? 'url(/wp-content/themes/theme/images/arrow_sideways.png)' : 'url(/wp-content/themes/theme/images/arrow_down.png)'); 
      $(this).children().toggle('slow'); 
     } 
     return false; 
    }) 
    .css({cursor:'pointer', 'list-style-image':'url(/wp-content/themes/theme/images/arrow_sideways.png)'}) 
    .children().hide(); 
$('li:not(:has(ul))').css({cursor:'default', 'list-style-image':'none'}); 
}); 
+2

'return false;를 제거하고 작동해야합니다. – Blender

+0

그러나 그가 li 내부의 * 링크를 클릭하면 event.target이 앵커 태그이므로 'if (this == event.target)'가 실패합니다. – joeltine

+0

@Blender 그것이 효과가있다! 감사! – jonthoughtit

답변

0

return false;을 제거하십시오.

event.preventDefault(); 
event.stopPropagation(); 

preventDefault가 작동하지 않는 이유는 링크,처럼 행동에서 링크를 중지 :

return false;은 동일합니다.