您好我正在制作一个必须在两个功能之间循环的切换器,只是学会了如何使用一个独特的触发器来实现:
jQuery.fn.clicktoggle = function(a, b) {
return this.each(function() {
var clicked = false;
jQuery(this).bind("click", function() {
if (clicked) {
clicked = false;
console.log(clicked);
return b.apply(this, arguments);
}
clicked = true;
console.log(clicked);
return a.apply(this, arguments);
});
});
}
jQuery("myTrigger1").clicktoggle(myOpen, myClose);
当我有一个独特的触发器,即“myTrigger1”时,这可以正常工作......但是如何才能在两个触发器中做到这一点?
jQuery(".myTrigger1, .myTrigger2").clicktoggle(myOpen, myClose);
循环不正常...当我单击其中一个触发器时,它会在两个函数之间切换打开和关闭,但如果在操作为“myOpen”时单击另一个触发器,则必须单击两次。 ..
如果我有3个触发器做同样的事情怎么办?
函数“myOpen”和“myClose”不是jQuery.toggle函数,它们里面有一些代码。
请帮忙!
答案 0 :(得分:0)
我通过将一个类附加到可以从函数内部检查的元素找到了解决方案:
jQuery('.myTrigger1, .myTrigger2').on('click', function (event) {
jQuery('.myDiv').toggleClass('toggled');
if (jQuery('.myDiv').hasClass('toggled')) {
myOpen();
} else{
myClose();
}
})