gpt4 book ai didi

javascript - 复制点击事件,销毁它们并稍后附加它们

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:02:41 26 4
gpt4 key购买 nike

我正在尝试完全禁用某些元素的点击事件,但可以选择稍后重新启用它们。

到目前为止我已经尝试过:

$('a').on('click', function(e) {
// some stuffs...
});

...

$('a').each(function(i, el) {
this.clickEvents = $._data(el, 'events').click;
$(el).off('click');
});

// reenable them later (this is not working)
$('a').each(function(i, el) {
$(el).on('click', this.clickEvents);
});

...

有什么我错的想法吗?

最佳答案

在每个 clickEvent 中尝试 .handler:

$('a').each(function(i, el) {
// clickEventHandlers is an array of handler functions
this.clickEventHandlers = $._data(el, 'events').click.map(function(e) {
return e.handler;
});
$(el).off('click');
});

// re-enable them later
$('a').each(function(i, el) {
// reapply the handlers in order
this.clickEventHandlers.forEach(function(handler) {
$(el).on('click', handler);
});
});

这样做的好处在于您可以按顺序重新应用所有事件监听器。

工作 JSFiddle .

关于javascript - 复制点击事件,销毁它们并稍后附加它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32644337/

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