将多个单击事件附加到jquery中的一个对象

将多个单击事件附加到jquery中的一个对象,jquery,events,onclick,Jquery,Events,Onclick,我的网页中有一些链接,这些链接通过jquery链接了几种类型的函数 首先,他们获得了标记哪一个是活动链接的标准行为: $('.buttonlist li a').bind('click', function() { var li = $(this).parent(); li.siblings('.aktiv').removeClass('aktiv'); li.addClass('aktiv'); } ); 其次,如果他们应该得

我的网页中有一些链接,这些链接通过jquery链接了几种类型的函数

首先,他们获得了标记哪一个是活动链接的标准行为:

$('.buttonlist li a').bind('click',
    function() {
        var li = $(this).parent();
        li.siblings('.aktiv').removeClass('aktiv');
        li.addClass('aktiv');
    }
); 
其次,如果他们应该得到ajaxy行为,他们中的一些人会得到ajaxy行为(这仍然可以是与上述按钮相同的按钮):

第三:在一个特殊页面上,我需要一些额外的行为:

if ($('#ansprechpartnerIntrotext').length > 0) {
    $('.buttonliste li a').bind('click', 
        function() {
            alert("Hello!");
            // Some Magic will happen around here
        }
    );
}

现在,我的理解是,所有这些事件都应该在适当的地方触发,无论何时单击链接,都应该按照它们绑定的顺序触发。唉,他们没有——只有ajaxload(2号)事件被触发,1号和3号都没有被调用。奇怪的是,顺序似乎没有任何影响——总是调用ajax调用,而不是其他调用。我做错了什么?

为什么只使用一次单击事件,然后将所有其他内容放入一个函数中

$('button').click(function(){
doClassChange();

if ($('#ansprechpartnerIntrotext').length > 0 && $(this).attr('class') == .ajaxload) {
//do something
}
doAjaxyStuff();

});

添加标志以控制单击中的操作,这样您就可以使用开关来允许不同的事情发生。

如果删除第二个处理程序,其他处理程序是否正常工作?你有脚本错误吗?啊!谢谢你把我推向正确的方向。javascript非常好,没有错误。。。但当我仔细看我的html时,我显然有一个短暂的停顿,因为我的divs类不是叫做“buttonliste”,而是叫做“buttonlooste”。。。难怪这些事件从未联系在一起。
$('button').click(function(){
doClassChange();

if ($('#ansprechpartnerIntrotext').length > 0 && $(this).attr('class') == .ajaxload) {
//do something
}
doAjaxyStuff();

});