我有一个点击事件需要触发不超过一次:
$(".menuIco").one('click', function() {
$(this).menuIcoClick($(this));
});
...这导致功能:
$.fn.menuIcoClick = function(menuIco) {
[...does some animations, not important...]
}
然而,在其他活动之后,我希望该活动能够再次启动。我正在尝试绑定menuIco
的点击事件menuIcoClick
再次使用函数on()
:
.on('click', $('#analiza').menuIcoClick($('#analiza')));
in
$("#icoBack").click(function() {
$('#analiza').animate({left: ($("#analiza").data("left")), top: ($("#analiza").data("top"))}, 0).on('click', $('#analiza').menuIcoClick($('#analiza')));
});
但这不起作用,on()
方法不允许我再次单击(并触发一次性事件)该元素,正如我所期望的那样。
您可以使用.off
在你的第一个函数中:
$(".menuIco").on('click', function() {
$(this).menuIcoClick($(this));
$(".menuIco").off('click'); // Here we disable the event, on the first execution
});
要再次执行该事件,您需要将其设置为一个新函数,附加到您想要的事件。
如果这不起作用,请向我们发送一个 jsfiddle,其中显示您的问题的更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)