所以我有一个奇怪的问题。我有一个<a/>
标记,我正在使用点击事件来使用jQuery.on()
。这是问题发生的地方。每次我点击<a/>
标记时,它似乎都会向标记添加另一个点击事件。
所以我有一个像:
这样的标签<a href="#" id="next-arrow" class="nav-arrows inactive"></a>
这是我的JS。
$('body').on('click', '#next-arrow', function(e) {
if($(this).hasClass('active')) {
$('body').addClass('loading-cursor');
document.location.hash=step_names[current_step];
$(this).removeClass('active').addClass('inactive');
$('#tools').append(loader);
$('#tools').find('.loader-outer').fadeIn('fast', function() {
//Do some stuff here once the loader is faded in
}); //End loader FadeIn()
}
e.preventDefault();
});
该功能在$(function() {});
任何想法可能会发生什么?我有一堆JS代码用于其他与之无关的元素。但是,如果有人有想法,并想要其他代码,请告诉我。
由于
PS。我想补充一点,我去尝试复制jsFiddle,但我不能复制它。所以我不知道问题是什么
答案 0 :(得分:0)
为什么不使用明确包含ID
标记<a>
的选择器。像
$('#next-arrow').bind('click', function (e){
.
.
.
});
或者如果问题相同,请在绑定之前使用<a>
从.unbind('click')
标记取消绑定点击事件。
答案 1 :(得分:0)
开始注意:我是在这里添加此答案,还是仅在评论中提及?
所以我想出了问题所在。我正在附加加载器,然后使用类选择器淡入加载器,然后淡出加载器,但不从DOM中删除元素。
那么下次我调用该函数时,它会附加加载器,将两个加载器淡化,然后为每个加载器运行中间函数,依此类推......
所以,一旦我加载了所有东西,我就从DOM中删除了loader元素,所有人都很高兴。
感谢您的帮助......我在研究过程中确实学到了一两件关于jQuery的东西......