我们可以用另一个jquery函数中的选择器回调jquery函数吗? 就像我有两个jquery函数
// Function 1:
$("#slideUp").click(function(){
$("#testDiv").slideUp("slow",CALLBACK);
});
// Function 2:
$("#slideDown").click(function(){
// Do some stuff
});
如何在函数1的回调中调用函数2?
*编辑:添加正确的术语 *
我们可以在另一个jquery监听器中使用选择器回调一个jquery监听器吗? 就像我有两个jquery监听器
// Listener 1:
$("#slideUp").click(function(){
$("#testDiv").slideUp("slow",CALLBACK);
});
// Listener 2:
$("#slideDown").click(function(){
// Do some stuff
});
如何将Listener 2
称为Listener 1
回调?
我想在slideDown
填充后执行testDiv
的点击监听器
谢谢Spycho。
〜Ajinkya。
答案 0 :(得分:3)
如果您的意思是要触发ID为slideDown
的元素的点击,请在回调函数中使用$("#slideDown").click()
。这将触发该元素的事件处理程序。
答案 1 :(得分:1)
有点不清楚你想要什么,因为“功能2:”不是一个功能,它是一个声明。
你要么:
$("#testDiv").slideUp("slow",function() {
$("#slideDown").click();
});
触发click
事件。
或
$("#testDiv").slideUp("slow",function() {
$("#slideDown").click(function(){
// Do some stuff
});
});
分配click
处理程序。
答案 2 :(得分:1)
函数2不是回调,它是jQuery的调用,注册回调。您需要为f2的回调函数创建一个可访问的引用。
假设您的意图是在f2
动画完成后调用slideUp
,请尝试:
function f1() {
$("#testDiv").slideUp("slow", f2);
}
function f2() {
// do some stuff
}
$('#slideUp').click(f1);
$('#slideDown').click(f2);
编辑这在技术上比触发新事件更干净,因为它只是使用.slideUp's
内置的“完成回调”功能传递直接函数引用,而不是futz around将东西注入事件队列。
答案 3 :(得分:1)
尝试.trigger() http://api.jquery.com/trigger/
在你的情况下,
// Function 1:
$("#slideUp").click(function(){
$("#testDiv").slideUp("slow", function() { $("#slideDown").trigger('click') } );
});
答案 4 :(得分:1)
this你的目标是什么?
它定义了一个回调函数,在单击#slideDown和#testDiv完成向上滑动时都会调用它。
要在不在别处定义函数的情况下调用处理程序,您可以“触发”hanlder正在侦听的事件,例如: $("#slideDown").click();
。