2016-10-24 10 views
0

을 mmenu하는 기능을 결합 할 수 없습니다, 내 솔루션에서내가 항상 bind 함수에 개발자 도구에서 다음과 같은 오류가 발생, 내가 mmenu 플러그인 API의 기존 이벤트에 바인딩 기능을하려고하면 API

Uncaught TypeError: API.bind is not a function

I 사용

jQuery mmenu v4.2.0 and jquery-1.12.4

다음은 마스터 페이지의 내 관련 코드입니다.

$(document).ready(function() { 
    var $menu = $("#mm-menu"); 
    $menu.mmenu({ 
     // options 
    }, { 
     // configuration 
     offCanvas: { 
      pageSelector: "#wrapper" 
     } 
    }); 
    var $icon = $("#hamburger-icon"); 
    var API = $menu.data("mmenu"); 

    $icon.on("click", function() { 
     API.open(); 
    }); 
    API.bind('closed', function() { 
     setTimeout(function() { 
      $icon.removeClass("is-active"); 
     }, 100); 
    }); 
+0

직접 해결. github에 마지막 mmenu 버전이 아닌 패키지를 설치했을 때 매우 신중하지 않았습니다. – user3713398

답변

1

사용 열고 닫기을 완료 : 을 열고 폐쇄의를 마무리 insted. 모든 availables 이벤트 로깅 API.getInstance() 아래 cbck 개체를 볼 수 있습니다. 여기에 코드 :

API.bind("open:finish", function() { 
    setTimeout(function() { 
    $icon.addClass("is-active"); 
    }, 50); 
}); 
API.bind("close:finish", function() { 
    setTimeout(function() { 
    $icon.removeClass("is-active"); 
    }, 50); 
});