我有一个点击事件,需要触发一次以上:
$(".menuIco").one('click', function() {
$(this).menuIcoClick($(this));
});
...导致功能:
$.fn.menuIcoClick = function(menuIco) {
[...does some animations, not important...]
}
但是,在其他事件之后,我希望该事件能够再次触发。我试图再次使用
menuIco
将menuIcoClick
的click事件与on()
函数绑定在一起:.on('click', $('#analiza').menuIcoClick($('#analiza')));
在
$("#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,其中显示您的问题的更多详细信息。