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