gpt4 book ai didi

javascript - 原型(prototype) : Element. remove.bind(foo) 无法按预期工作

转载 作者:行者123 更新时间:2023-12-02 20:47:05 24 4
gpt4 key购买 nike

我有这个片段:

self.puff({duration: 0, queue: 'end',
afterFinish: Element.remove.bindAsEventListener(self)
});

Self 是一个元素;当对某个元素的所有效果完成后,它应该从文档中删除该元素。

不幸的是,这不起作用,失败并显示“element.parentNode 未定义”。如果我用 function() { self.remove(); 替换 Element.remove.bindAsEventListener(self) } 那么就可以了。我尝试过使用 bind() 得到相同的结果。

问题是:为什么它不起作用,我应该如何使用bind()?

展示在完成所有效果后删除元素的更简单方法的奖励积分。

最佳答案

self.puff({duration: 0, queue: 'end',
afterFinish: function () { self.remove(); }
});

这样的表达方式有什么问题吗?你甚至自己建议。无论如何,您不需要将其绑定(bind)为事件监听器,因为它只是 bind 的 Prototype 语法糖版本,以确保函数的第一个参数始终是事件对象。由于 afterFinish 不是浏览器事件,因此没有必要。

最后,您绑定(bind)了错误的函数。您应该绑定(bind)self的方法实例:

self.puff({duration: 0, queue: 'end',
afterFinish: self.remove.bind(self)
});

关于javascript - 原型(prototype) : Element. remove.bind(foo) 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/907000/

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