mam kod:potrzeba podwojenia kliknij Firefox
+function($) {
'use strict';
var Ripple = function(element) {
var $this = $(this)
$(element).on('mousedown', $this.start)
}
Ripple.prototype.start = function(e) {
var $this = $(this)
var r = $this.find('.ripple-wave')
if(r.length == 0) {
$this.prepend('<div class="ripple-wave"></div>')
r = $this.find('.ripple-wave')
}
if($this.hasClass('btn') || $this.hasClass('single-action')) {
var posX = $(this).offset().left, posY = $(this).offset().top
r.css('left', e.pageX - posX)
r.css('top', e.pageY - posY)
}
r = r.parent()
r.addClass('active')
r.one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(e) {
r.removeClass('active')
})
}
var old = $.fn.ripple
$.fn.ripple = function() {
return this.each(function() {
new Ripple(this)
})
}
$.fn.ripple.Constructor = Ripple
$.fn.ripple.noConflict = function() {
$.fn.ripple = old
return this
}}(jQuery);
ale gdybym przetestować na Mozilla Firefox, muszę dwukrotnie kliknąć element w tym celu swoją funkcję.
zainicjować to do mojego na stronie obciążenia przy użyciu:
$('.ripple').ripple()
PS: Mam również na kliknij zdarzenie na każdy element z innego pliku JS.
W chrome, działa poprawnie, jednym kliknięciem.
można dodawać html, aby go odtworzyć? –
nie sądzę, że to rozwiązuje twój problem, ale nie powinien "$ (element) .on (" mousedown ", $ this.start)' być '$ (element) .on (" mousedown ", this.start)'? –
Czy możesz podać nam pełny kod JQuery, pełny kod HTML i ewentualnie nieco poprawić swój problem? – Milos