Ich habe ein benutzerdefiniertes Ereignis namens slides.swap
erstellt, aber ich möchte verhindern, dass das Ereignis von click
in trigger()
kommt. Es funktioniert nicht. Wie mache ich das von der trigger()
? Ich weiß, ich kann es in der click
Funktion verhindern, aber ich will nur alles "gekapselt".Ist es möglich, .preventDefault() in trigger() in jQuery
JS:
tabs.on('click', 'a', function(e){
$(this).trigger('slides.swap', e);
});
//Custome event
tabs.find('a').bind('slides.swap', function(e){
var self = $(this),
selfIndex = self.parent().index(),
targetSlide = slides.eq(selfIndex);
e.preventDefault(); //somehow this doesn't work
//fade in/out slides
slides.filter('.active').stop(true, false).fadeOut(speed, function(){
$(this).removeClass('active');
});
targetSlide.stop(true, false).fadeIn(speed).addClass('active');
tabs.removeClass('selected');
self.parent().addClass('selected');
});
Vielen Dank
Ich verstehe nicht, warum Sie dieses benutzerdefinierte Ereignis benötigen. Können Sie die anonyme Funktion nicht direkt an das click-Ereignis binden? – alextercete