Я создал пользовательское событие с именем slides.swap
, но я хочу предотвратить поступление события из click
в trigger()
. Это не работает. Как мне это сделать с trigger()
?
Я знаю, что могу предотвратить это с помощью функции click
, но я просто хочу сохранить все "инкапсулированным".
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');
});
Большое спасибо