fixed ripples.js on old browsers

This commit is contained in:
Federico Zivolo 2014-09-05 10:09:26 +02:00
parent 42ea579703
commit 4dede088d5

View File

@ -4,6 +4,12 @@ var ripples = {
init : function(withRipple) { init : function(withRipple) {
"use strict"; "use strict";
// Cross browser matches function
function matchesSelector(dom_element, selector) {
var matches = dom_element.matches || dom_element.matchesSelector || dom_element.webkitMatchesSelector || dom_element.mozMatchesSelector || dom_element.msMatchesSelector || dom_element.oMatchesSelector;
return matches.call(dom_element, selector);
}
// animations time // animations time
var rippleOutTime = 100, var rippleOutTime = 100,
rippleStartTime = 500; rippleStartTime = 500;
@ -13,7 +19,7 @@ var ripples = {
document.addEventListener(event, function(e) { document.addEventListener(event, function(e) {
var target = (typeof e.detail !== "number") ? e.detail : e.target; var target = (typeof e.detail !== "number") ? e.detail : e.target;
if (target.matches(selector)) { if (matchesSelector(target, selector)) {
callback(e, target); callback(e, target);
} }
}); });
@ -22,7 +28,7 @@ var ripples = {
var rippleStart = function(e, target) { var rippleStart = function(e, target) {
// Init variables // Init variables
var $rippleWrapper = (target.matches(".ripple-wrapper")) ? target : target.parentNode, var $rippleWrapper = (matchesSelector(target, ".ripple-wrapper")) ? target : target.parentNode,
$el = $rippleWrapper.parentNode, $el = $rippleWrapper.parentNode,
$ripple = document.createElement("div"), $ripple = document.createElement("div"),
elPos = $el.getBoundingClientRect(), elPos = $el.getBoundingClientRect(),