jquery单击事件

jquery单击事件,jquery,Jquery,我们可以在Jquery中使用多个click事件吗 作为 请帮帮我 由于代码的空间较少,我将代码包装起来 $('#togglebutton1').click(function() { if ($(this).is(':visible')){ $('#bio>div,#heading2,#heading3 ').hide(); $('#bio>div:first').show(); $('p:first').to

我们可以在Jquery中使用多个click事件吗 作为

请帮帮我


由于代码的空间较少,我将代码包装起来

$('#togglebutton1').click(function() {
      if ($(this).is(':visible')){ 
          $('#bio>div,#heading2,#heading3 ').hide(); 
          $('#bio>div:first').show();
          $('p:first').toggle(
             function() { 
                 $(this).animate({ 'height': '+=15px' }, '1000', 'linear'); 
             }, 
             function() {
                 $(this).animate({ 'height': '-=15px' }, '1000', 'swing');
             }
          );
          $(this).val('ShowImage');
       }else { 
         $(' #bio > div,#heading2,#heading3 ').show(); 
         $(this).val('HideImage'); 
       } 
}); 
$('#bio h3').click(function() { 
     $(this).next().animate({ 'height': 'toggle' }, 'slow', 'easeOutBounce'); }); 
}); 

是,您可以绑定多个单击事件。看看jQuery的“bind”方法

您可以使用进行此操作

示例:

$('#foo').bind('click mouseenter mouseleave', function() {
  $(this).toggleClass('entered');
});

如图所示,三个even被附加到元素上,例如
单击mouseenter mouseleave
,其中
id
设置为
#foo

是的,您可以。。。jQuery在链接方面很好


但我认为你应该进一步澄清你的问题,关于你真正想要实现的目标。。。这样我们就可以提出更多更好的想法。。干杯

是,您可以将多个处理程序绑定到同一元素的
单击事件:

$('#myElementID').click(function() {
    // do something here
})

// Elsewhere (presumably)
$('#myElementID').click(function() {
    // do something else here
})

如果被调用的第一个处理程序没有停止事件(通过或通过从处理程序返回
false
),则将调用下一个处理程序。jQuery保证处理程序将按照注册顺序被调用(即使浏览器没有这样做)。(这在文档中有介绍,但也适用于
单击
功能,因为
单击
只是
单击
事件的
绑定
的简写版本。)

我想您可能是指在几个不同的元素上运行相同的功能。 可以这样做:

$("#mydiv1, #mydiv2, #mydiv3").click(function(){
    //some code
});

祝你好运

“多个单击事件”,而不是多个事件。@Crowder:
单击也是一个事件,对吗?
bind
不是用于多个事件吗?@weblogic:是的,很酷。它只是没有回答OP提出的问题(至少,据我所知,这个问题是什么)。多点点击有什么意义,它会归结为相同的东西。OP基本上意味着多个事件。@Sarfraz:请看我对你对我答案的相同评论的回应。多次点击有什么意义,它将归结为相同的事情。OP基本上是指多个事件。@Sarfraz:通常当代码中有不同的部分都需要挂接事件时会出现这种情况,这些部分或者彼此不了解,或者不应该相互依赖。这是DOM2处理程序的全部要点(jQuery在幕后使用的
addEventListener
/
attachEvent
浏览器)。以前的“DOM0”机制,
onclick
attributes,只允许一个处理程序,这是有限制的。这就是OP的意思,这需要他们澄清。他们说的是“多次点击事件”。你能更具体地说明你真正想要实现什么吗?。。。因为每个人都很困惑?!。。。为什么要把
click()
s放在“.click()”里面?我遗漏了什么?bcoz我想为“隐藏图像”和“显示图像”添加两个不同的按钮。@野餐4U:这仍然不是超清晰,但如果你想将同一个处理程序附加到两个不同的按钮上,那没问题,看到我这样做,但图像隐藏工作,但在这之后,按钮名称也改变,但当我点击agin显示图像它不工作?代码如下:由于代码$(this.is(':visible')的空间较小,我将代码包装起来。单击(函数(){if($(this.is(':visible')){$(bio>div,#heading2,#heading3')。隐藏()$('.#bio>div:first')。显示()$('p:first')。切换(函数(){(this)。设置动画({'height':+=15px','1000','linear');函数()){animate('this:'px')另外{$('bio>div,#heading2,#heading3')。show();$(this.val('HideImage');})$(#bio h3')。单击(函数(){$(this).next()。设置动画({'height':'toggle'},'slow','easeOutBounce');});
$(function(){
    $('#link').click(function(e){
        e.preventDefault(); // unbind default click event
        function1();
        function2();
        function3();
        // or
        var $this = $(this);
        $this.function1();
        $this.function2();
        $this.function3();
    });
});
$(function(){
    $('#link').click(function(e){
        e.preventDefault(); // unbind default click event
        function1();
        function2();
        function3();
        // or
        var $this = $(this);
        $this.function1();
        $this.function2();
        $this.function3();
    });
});