我的问题是两个函数被传递给toggle为什么..并且外面的另一个函数是那里也是混乱的plz告诉我
$('#login a').toggle(function() {
$(this)
.addClass('active')
.next('form')
.animate({'height':'show'}, {
duration:'slow',
easing: 'easeOutBounce'
});
}, function() {
$(this)
.removeClass('active')
.next('form')
.slideUp();
});
$('#login form :submit').click(function() {
$(this)
.parent()
.prev('a')
.click();
});
答案 0 :(得分:1)
toggle()方法将两个(或更多)函数作为参数,并在每次单击元素时交替调用其中一个函数。
Javascript中的函数是first class citizens:你可以像任何其他对象一样操纵它们,包括将它们传递给其他函数:
function foo(otherfunction)
{
otherfunction();
}
function bar()
{
window.alert("bar() was called.");
}
foo(bar); // Ultimately calls `bar()`.
答案 1 :(得分:0)
根据JQuery API documentation功能,将通过交替点击调用:
对于提交按钮的处理程序,它模拟了锚点(a)元素的点击,该元素是包含按钮的元素的兄弟并且位于容器元素之前。像这样:
<a href="#">click will be simulated for this link</a>
<div>
<input type="submit"/>
</div>