在jQuery文档的.toggle()方法规定:
为方便起见,提供了.toggle()方法。手动实现相同的行为是相对直接的,如果内置于.toggle()的假设证明是限制性的,则可能有必要。
.toggle事实证明,内置的假设限制了我当前的工作,但是文档并未详细说明如何实现相同的行为。我需要将eventData传递给提供给的处理函数toggle(),但似乎仅.bind()支持此功能,而不支持.toggle()。
我的第一个倾向是使用单个处理程序函数全局的标记来存储单击状态。换句话说,而不是:
$('a').toggle(function() {
alert('odd number of clicks');
}, function() {
alert('even number of clicks');
});
做这个:
var clicks = true;
$('a').click(function() {
if (clicks) {
alert('odd number of clicks');
clicks = false;
} else {
alert('even number of clicks');
clicks = true;
}
});
我尚未测试后者,但我怀疑它会起作用。这是做这样的事情的最好方法,还是我想念的更好的方法?
谢谢!
holdtom
相关分类