从jQuery 1.8开始,.toggle()
实用程序函数已被弃用,我正在寻找一个无法用于模仿其功能的quickie代码段。我查看了一个建议的解决方案here,但我发现它太冗长了。
我想知道我是否应该切换自定义类名并执行.on()
/ .off()
,或者是否应该跟踪布尔值?
在我看来,我认为我应该能够在一个.on()
事件地图中完成所有这一切......
以前是否有人在此处完成并可以共享片段?
修改
我必须说,当人们如此积极地投票时,这有点令人恼火。是的,一些类似的片段是关于SO的,但这里的问题是关于最小化代码。旧的jQuery .toggle()
是一个很简单的方法,我只是在寻找关于最佳方法的一些指示。
我想出的是:任何人都有想法如何避免使用全局变量来跟踪我的点击状态?
g.toggler = 0;
$(document).on({
click : function(){
g.toggler++;
if(g.toggler%2==1){
console.log('forth');
} else {
console.log('back');
};
}
});
答案 0 :(得分:2)
将切换值存储在元素的数据对象中。
$(document).on({
click:function(){
var toggle = $(this).data("toggler", !$(this).data("toggler")).data("toggler");
if(toggle){
console.log('forth');
} else {
console.log('back');
};
}
});