code: function showEffect(e) {
  
          // Disable effect if element has "disabled" property on it
          // In some cases, the event is not triggered by the current element
          // if (e.target.getAttribute('disabled') !== null) {
          //     return;
          // }
  
          var element = getWavesEffectElement(e);
  
          if (element !== null) {
  
              // Make it sure the element has either disabled property, disabled attribute or 'disabled' class
              if (element.disabled || element.getAttribute('disabled') || element.classList.contains('disabled')) {
                  return;
              }
  
              TouchHandler.registerEvent(e);
  
              if (e.type === 'touchstart' && Effect.delay) {
  
                  var hidden = false;
  
                  var timer = setTimeout(function () {
                      timer = null;
                      Effect.show(e, element);
                  }, Effect.delay);
  
                  var hideEffect = function(hideEvent) {
  
                      // if touch hasn't moved, and effect not yet started: start effect now
                      if (timer) {
                          clearTimeout(timer);
                          timer = null;
                          Effect.show(e, element);
                      }
                      if (!hidden) {
                          hidden = true;
                          Effect.hide(hideEvent, element);
                      }
  
                      removeListeners();
                  };
  
                  var touchMove = function(moveEvent) {
                      if (timer) {
                          clearTimeout(timer);
                          timer = null;
                      }
                      hideEffect(moveEvent);
  
                      removeListeners();
                  };
  
                  element.addEventListener('touchmove', touchMove, false);
                  element.addEventListener('touchend', hideEffect, false);
                  element.addEventListener('touchcancel', hideEffect, false);
  
                  var removeListeners = function() {
                      element.removeEventListener('touchmove', touchMove);
                      element.removeEventListener('touchend', hideEffect);
                      element.removeEventListener('touchcancel', hideEffect);
                  };
              } else {
  
                  Effect.show(e, element);
  
                  if (isTouchAvailable) {
                      element.addEventListener('touchend', Effect.hide, false);
                      element.addEventListener('touchcancel', Effect.hide, false);
                  }
  
                  element.addEventListener('mouseup', Effect.hide, false);
                  element.addEventListener('mouseleave', Effect.hide, false);
              }
          }
      }
docs: Bubble the click and show effect if .waves-effect elem was found