在jQuery文档的.toggle()方法规定:
提供.toggle()方法是为了方便起见.手动实现相同的行为是相对简单的,如果.toggle()中内置的假设证明是有限的,这可能是必要的.
内置的假设.toggle已证明限制了我当前的任务,但文档没有详细说明如何实现相同的行为.我需要将eventData传递给提供给toggle()它的处理函数,但似乎只.bind()支持这个,而不是.toggle().
我的第一个倾向是使用一个全局的标志来存储单击处理函数来存储点击状态.换句话说,而不是:
$('a').toggle(function() {
alert('odd number of clicks');
}, function() {
alert('even number of clicks');
});
Run Code Online (Sandbox Code Playgroud)
做这个:
var clicks = true;
$('a').click(function() {
if (clicks) {
alert('odd number of clicks');
clicks = false;
} else {
alert('even number of clicks');
clicks = true;
}
});
Run Code Online (Sandbox Code Playgroud)
我没有测试后者,但我怀疑它会起作用.这是做这样的事情的最佳方式,还是有更好的方式让我失踪?
谢谢!
我有一个提交按钮,现在我想要这样的结果:
当我第一次点击时,它将运行动作1.
当我第二次点击时,它将运行动作2.
当我点击n时,它将运行动作n.
我怎样才能做到这一点?