2011-03-16 2 views
0

다른 사람이 페이지의 다른 곳을 클릭하면이 기능을 사용하여 목록에 ul (클릭)을 표시하고 숨 깁니다.jQuery - 이벤트 표시/숨기기가 작동하지 않습니다. 왜?

$(document).ready(function() { 
    $('#trigger').click(function() { 
     $('#dropdown-options').show(); 
    }); 

    $(document).click(function() { 
     $('#dropdown-options').hide(); 
    }); 

    $('#dropdown-options').click(function(e) { 
     e.stopPropagation(); 
    }); 
}); 

(. 내가 루비 온 레일즈를 사용하고, 모든 작동하게하기 위해 $(document).ready(function() {...}); 아래에 있어야한다 보인다)

답변

3

그것은 문서가 포함되어 있기 때문에 사실입니다 "#을 : 작동하지 않는 것 방아쇠 ", 동시에 보이고 숨겨지고있다. "stopPropagation"을 "#trigger"선택기로 옮기면 문서가 가져 오기 전에 이벤트의 소품을 중지하고 다시 숨길 수 있습니다.

$(document).ready(function() { 
    $('#trigger').click(function(e) { 
    e.stopPropagation(); 
    $('#dropdown-options').show(); 
    }); 

    $(document).click(function() { 
    $('#dropdown-options').hide(); 
    }); 
}); 
+0

전파 감사합니다. – benoitr

관련 문제