2016-06-01 2 views
0
 <li class="dropdown"> 
        <a class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user fa-fw"></i> 
          <i class="fa fa-caret-down"></i> 
        </a> 
        <ul class="dropdown-menu dropdown-user"> 
         <li><a><i class="fa fa-user fa-fw"></i> User 
           Profile</a></li> 
         <li><a><i class="fa fa-gear fa-fw"></i> Settings</a> 
         </li> 
         <li class="divider"></li> 
         <li><a href="login.html"><i class="fa fa-sign-out fa-fw"></i> 
           Logout</a></li> 
        </ul> <!-- /.dropdown-user --> 
       </li> 

을 여는 대신 새로운 페이지로 이동 계속 내 스크립트 기능은 다음과 같습니다, 그냥 메뉴를

$('.dropdown-toggle').on('click', function(e){ 

     $(".dropdown").toggleClass("open",true); 

     e.preventDefault(); 

    }); 

에서 preventDefault이 작동하지 않습니다. 드롭 다운 메뉴를 클릭하면 메뉴가 열리고 내 페이지는 항상 새로 고침되며 내 페이지가 새로 고침되는 것을 멈추게합니다.

"$ ('. dropdown-toggle') 줄에 중단 점을 설정하면 on ('click', function (e) {"페이지가 이미 함수로 들어가기 전에 새로 고쳐집니다. 새로 고침 후 새로 고침

문제가 해결되었습니다 : 내 요소가 비어있는 onclick 이벤트 인 다른 스크립트가 있습니다.이 드롭 다운 이벤트에 영향을줍니다. ""에 제지를 추가하면 문제가 해결됩니다. 갑자기 페이지가 비워서 페이지가 새로 고침되었다고 생각하게되었습니다.

+0

은'e.preventDefault();''$ 전에 ("드롭 다운.") toggleClass는 (사실, "개방");'을 할 것입니다.. 먼저 기본 동작을 방지 한 다음 원하는 동작을 수행해야합니다. – Pugazh

+0

@Pugazh, 확실합니까? – Rayon

+0

@ Pugazh, 이미 해봤지만 작동하지 않았다. –

답변

1
$(".dropdown-toggle").click(function(){ 
     $(this).parent().find(".dropdown-menu").toggle(); 
     return false; 
    }); 
+0

작동하지 않지만 여전히 동일한 문제가 있습니다. –

+0

주어진 반환 false 지금 코드를 시도 – Mani

+0

그것은 작동하지 않습니다. 나는 페이지가 기능에 들어가기 전에 새로 고침을 찾았지만, 클릭 한 후에 발생했다. 나는 지금 조금은 단서가 없다. –

1

이 시도 :

$('.dropdown-toggle').on('click', function(e){ 
    e.preventDefault(); 
    $(".dropdown-menu").toggleClass("open",true); 
+0

이미 시도했지만 작동하지 않습니다. –

0

는이 같은 이벤트를 바인딩해야합니까?

$('.dropdown-toggle').on('click', function(e){ 

그렇지 않으면,이 방법 안에 코드를 이동하고 복귀와 함께 링크에 직접 함수 이름을 추가하는 것입니다 해결하는 쉬운 방법 ...

<a class="dropdown-toggle" onclick="return MyMethod()" data-toggle="dropdown"> 
<i class="fa fa-user fa-fw"></i> 
<i class="fa fa-caret-down"></i> 
</a> 

그리고 방법에 대한

: 배치

function MyMethod(){ 
$(".dropdown").toggleClass("open",true); 
return false; 
}