gpt4 book ai didi

javascript - 如何使用 on() 撤消 jQuery 的 one()?

转载 作者:行者123 更新时间:2023-11-30 05:44:51 25 4
gpt4 key购买 nike

我有一个点击事件需要触发不超过一次:

    $(".menuIco").one('click', function() {
$(this).menuIcoClick($(this));
});

...这导致功能:

$.fn.menuIcoClick = function(menuIco) {
[...does some animations, not important...]
}

但是,在其他事件之后,我希望该事件能够再次启动。我尝试再次使用 on()menuIco 的点击事件与 menuIcoClick 函数绑定(bind):

.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,其中包含您的问题的更多详细信息。

关于javascript - 如何使用 on() 撤消 jQuery 的 one()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18590986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com