我感觉这个答案会非常简单,但我不知道要搜索什么。
我想做的是让一个 .click() 事件按顺序触发两个函数。 Function1 清除预期区域,然后 function2 应该是 .slideDown()。
function function1(){
$(this).parents('#div').siblings().nextAll('#div').hide();
};
function function2(){
$(this).parents('#div').siblings().nextAll('#div').slideDown(1000);
};
$("#div").click(function1 + function2);
我已经尝试了以下方法,但没有成功...
$("#div").click(function1, function2);
$("#div").click(function1,function2);
$("#div").click(function1 + function2);
$("#div").click(function1+function2);
当 function1 和 function2 独立触发时,它们可以正常工作。只有当我尝试将它们一起解雇时才会出现这种情况。
提前非常感谢您!
编辑: 哦,#div 标记只是地标选择器。
最佳答案
您可以传递一个按顺序调用两个函数的处理程序。
为了正确绑定(bind) this
,您必须使用 call()或apply()调用它们:
$("#div").click(function() {
function1.call(this);
function2.call(this);
});
如果您“自然地”调用函数,就像其他答案一样,那么在 function1()
和 function2()
内部 this
将是绑定(bind)到 window
(或在严格模式下绑定(bind)到 undefined
),而不是绑定(bind)到单击的元素,因此它们不会按照您的预期运行。
关于jquery - 使用单个 .click() 触发多个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14134486/