如何在没有页面重新加载的情况下刷新.one()事件?

时间:2017-02-02 20:48:09

标签: javascript jquery html css

我在代码中使用了el.one('click', fn)。现在我需要刷新.one()事件。我的意思是我想在同一个加载页面中每次点击fn多次致电el

我知道,.on()事件在我的案例中听起来不错。但事实并非如此,我需要.one()。我只需要几次强制.one().on()这样的行为。

好吧,有什么解决方案吗?

1 个答案:

答案 0 :(得分:2)

只要你需要它就可以开启.on(),然后执行.off()将其关闭。

示例:

var aFunc = function() { console.log('click!'); };

$("#foo").one("click", aFunc);

// some other stuff happens and when you need it...

$("#foo").on("click", aFunc);

// now you don't want it anymore

$("#foo").off("click", aFunc);

这是完全未经测试的,但我认为它可能有用。

重要的是要注意,要转换处理程序.off(),您无法向.on()提供匿名函数,这就是函数变量的原因。