我的网页中有链接,可以通过jquery链接几种类型的函数。
首先,他们得到标记哪一个是活动链接的标准行为:
$('.buttonlist li a').bind('click',
function() {
var li = $(this).parent();
li.siblings('.aktiv').removeClass('aktiv');
li.addClass('aktiv');
}
);
其次,如果他们应该得到它,他们中的一些会得到一个a(行为(这仍然可以与上面的按钮相同):
$('.ajaxLoad').bind('click',
function(event) {
event.preventDefault();
var url = $(this).attr('href');
$('.inhaltsblock').load(url);
}
);
第三:在一个特殊页面上,我需要一些额外的行为:
if ($('#ansprechpartnerIntrotext').length > 0) {
$('.buttonliste li a').bind('click',
function() {
alert("Hello!");
// Some Magic will happen around here
}
);
}
现在,我的理解是,只要点击链接,就会按照绑定的顺序在适当的时候触发所有这些事件。唉,他们没有 - 只触发ajaxload(数字2)事件,无论是第一个还是第三个都没有被调用。奇怪的是,顺序似乎没有任何影响 - 它总是被称为ajax调用,而不是其他调用。我在这里做错了什么?
答案 0 :(得分:0)
为什么只使用一次点击事件并将所有其他内容放在一个函数中,例如
$('button').click(function(){
doClassChange();
if ($('#ansprechpartnerIntrotext').length > 0 && $(this).attr('class') == .ajaxload) {
//do something
}
doAjaxyStuff();
});
添加标记以控制点击中发生的事情,这样您就可以使用开关来实现不同的事情。