2012-01-31 4 views
-3

내 사이트에 많은 드롭 다운이 있으며 jquery로 재사용 가능한 함수를 만들고 싶습니다. 그래서 단일 함수로 많은 코드를 저장할 수 있습니다. 하나는 ... 예를 들어 지금 나는이 방법처럼 사용하고Jquery의 함수

<div id="clickMe"> 
    <div id="showMe"> 
     <div>I am dropdown item</div> 
    </div> 
</div> 

들어 ...이 점에서

$(document).ready(function() { 

    $("#clickMe").click(function(e) {   
     e.preventDefault(); 
     $("#showMe").toggle(); 
     $("#clickMe").toggleClass("menu-open"); 
    }); 

    $("#showMe").mouseup(function() { 
     return false 
    }); 
    $(document).mouseup(function(e) { 
     if($(e.target).parent("#clickMe").length==0) { 
     $("#clickMe").removeClass("menu-open"); 
     $("#showMe").hide(); 
    } 
    }); 
}); 

을 을 좀 도와하지만 지금은 더 만들고 싶어 할 수 사전에 감사합니다 ... ... 재사용

+4

놀랍게도 막연한 질문입니다. 함수를 작성하려면 함수를 작성하십시오. 나는 당신의 정확한 목표가 무엇인지 혼란스러워합니다. – Corbin

답변

0

당신은 예를 들어, 드롭 다운과 함께 모든 div의를 식별하고, jQuery의 클래스 선택하여 이벤트 리스너를 추가하는 HTML의 class 속성을 사용할 수 있습니다 :

<script type="text/javascript"> 
    //reusable function 
    function addMyListener(){ 
    $(".showClass > div").click(function(){ 
     if($(".showClass").prop("enabled")){ 
      //do some thing while click drop-down item 
     } 
    }); 
    } 

    $(function(){ 
    //call the function while document is ready 
    addMyListener(); 
    }); 
</script> 
<div id="clickMe"> 
    <!-- add class="showDiv" for all showMe like divs --> 
    <div id="showMe" class="showClass"> 
    <div>I am dropdown item</div> 
    </div> 
</div> 
+0

this..function 드롭 다운 (selecter, to_show, activeClass)과 같은 기능을 만들고 싶습니다. { $ select = $ ('selecter'); $ show = $ ('to_show'); $ activeClass = $ ('activeClass'); // 기본값은 입니다. $ select.show(); $ show.hide(); 클릭 이벤트에 // $의 select.click (함수() { $의 show.toggle(); $ select.toggleClass ('$ activeClass'); }); // 열린 div에서 마우스 업 false $ show.mouseup (function() { return false; }); // 마지막으로 div를 숨긴 경우 $ (문서) .mouseup (함수 (e) { if (($ $)) .parent ('$ select'). 길이 == 0) { $ show.hide(); $ select.removeClass ('$ activeClass'); } }); }; –

관련 문제