2015-05-31 12 views
5

Sử dụng jQuery mmenu plugin Tôi cần gọi hàm JavaScript sau khi menu đã mở xong. Tôi không thể nhìn thấy từ API documentation làm thế nào để làm điều này bằng cách sử dụng API plug-in, vì vậy tôi nghĩ có lẽ là lựa chọn duy nhất là quan sát tên lớp trên phần tử <html>, mà đạt được một lớp mm-opened khi menu được mở . Điều này cảm thấy một chút 'hacky' mặc dù, vì vậy tôi tự hỏi nếu có ai có thể nhìn thấy một cách, trong giới hạn của API bản địa, để thực hiện cuộc gọi chức năng yêu cầu?Sự kiện gọi lại khi jQuery 'mmenu' mở

CHỈNH SỬA: Trái với mong đợi sự kiện openPanel không kích hoạt khi menu được mở - nó chỉ kích hoạt khi các menu phụ được mở, vì vậy mặc dù điều này cho thấy nó sẽ thực hiện công việc, nhưng không.

Rất cám ơn.

Trả lời

15

Got nó (không phải tài liệu!):

var api = $('#menu').data('mmenu'); 
api.bind('opened', function() { 
    console.log('opened'); 
}); 
+1

bị phát hiện bởi cùng một điều, điều này đã giúp tôi. Ngoài ra còn có một sự kiện 'đóng' nếu ai đó cần phải liên kết với nó. – Alex

+0

Điều này dường như không hoạt động với phiên bản plugin mới nhất, bạn có thể xác nhận không? –

+1

Tôi xác nhận, ghét điều này, đã dành 3 giờ đồng hồ cố gắng để gắn kết bản thân mình trong các sự kiện của điều này. –

6

Bạn có thể tìm kiếm .trigger( trên mã nguồn: https://raw.githubusercontent.com/FrDH/jQuery.mmenu/master/dist/js/jquery.mmenu.min.js

Bạn sẽ tìm thấy sự kiện sau đây:

  • init
  • cập nhật
  • setSelected
  • setPage
  • mở
  • mở
  • mở
  • gần
  • đóng
  • đóng
  • openPanel
  • openingPanel
  • openedPanel
  • .210
  • closePanel
  • closingPanel
  • closedPanel

Tôi tin rằng đó là những điều đó. Trong số đó, bạn có thể thấy các sự kiện 'đã mở' và 'đã đóng' sẽ hữu ích cho trường hợp của bạn.

Các vấn đề liên quan