diff --git a/src/menu/menu.js b/src/menu/menu.js index 2d03de76..be32b52f 100644 --- a/src/menu/menu.js +++ b/src/menu/menu.js @@ -120,15 +120,15 @@ MaterialMenu.prototype.init = function() { } var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM); - + this.boundItemKeydown = this.handleItemKeyboardEvent_.bind(this); + this.boundItemClick = this.handleItemClick_.bind(this); for (var i = 0; i < items.length; i++) { // Add a listener to each menu item. - items[i].addEventListener('click', this.handleItemClick_.bind(this)); + items[i].addEventListener('click', this.boundItemClick); // Add a tab index to each menu item. items[i].tabIndex = '-1'; // Add a keyboard listener to each menu item. - items[i].addEventListener('keydown', - this.handleItemKeyboardEvent_.bind(this)); + items[i].addEventListener('keydown', this.boundItemKeydown); } // Add ripple classes to each item, if the user has enabled ripples. @@ -458,6 +458,19 @@ MaterialMenu.prototype.toggle = function(evt) { } }; +/* +* Downgrade the component. +*/ +MaterialMenu.prototype.mdlDowngrade_ = function() { + 'use strict'; + var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM); + + for (var i = 0; i < items.length; i++) { + items[i].removeEventListener('click', this.boundItemClick); + items[i].removeEventListener('keydown', this.boundItemKeydown); + } +}; + // The component registers itself. It can assume componentHandler is available // in the global scope. componentHandler.register({