jquery点击事件

时间:2010-06-01 06:16:45

标签: jquery

我们可以在Jquery中使用多个click事件吗? 如

$(document).ready(function(){
$('#button').click(function(){
...........click(function(){
...........click(function(){
});

$(this).hide();
});
}); 

请帮帮我

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

$('#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'); }); 
}); 

6 个答案:

答案 0 :(得分:3)

我认为你可能意味着在几个不同的元素上运行相同的功能。 这可以这样做:

$("#mydiv1, #mydiv2, #mydiv3").click(function(){
    //some code
});
祝你好运!

答案 1 :(得分:2)

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

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

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

如果被调用的第一个处理程序没有停止事件(通过.stopPropagation()或从处理程序返回false),则会调用下一个处理程序。 jQuery保证处理程序将按照它们注册的顺序被调用(即使浏览器没有)。 (这在bind文档中有所涉及,但也适用于click函数,因为click只是bind click的简写版本事件。)

答案 2 :(得分:0)

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

http://api.jquery.com/bind/

答案 3 :(得分:0)

您可以使用 bind

示例:

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

可以看出,将click mouseenter mouseleave附加到id的三个平均值,#foo设置为{{1}}。

答案 4 :(得分:0)

是的,你可以...... jQuery在链接上很好......

但我认为你应该澄清更多关于你想要实现的问题...以便我们能够提出更多更好的想法......干杯!

答案 5 :(得分:0)

$(function(){
    $('#link').click(function(e){
        e.preventDefault(); // unbind default click event
        function1();
        function2();
        function3();
        // or
        var $this = $(this);
        $this.function1();
        $this.function2();
        $this.function3();
    });
});