我如何让我的eventlistener响应DOM对象“;结束”;

How do I get my eventlistener to respond to the DOM object "ended"?

本文关键字:对象 结束 DOM 响应 我的 eventlistener      更新时间:2023-09-26

我有一个<audio id="audio1">对象,我希望它在音频结束时做一些事情。这看起来很简单,但是我的代码没有产生任何结果。这是我的javascript:

        myAudio=document.getElementById("audio1");
        myAudio.addEventListener('ended', alert('Ha'), true);

最终,我希望它在音频结束时刷新,然后我想找到一种方法来预加载音轨,然后在音频结束后刷新,这样就没有加载时间了。

我看到了几个关于这个话题的堆叠式问题,但它们都包含了许多额外的东西,在尝试了他们的方法(我能理解的方法,并与他们正在做的其他事情分开)后,它没有起作用。我相信我已经找到了最简单的方法,但它不会返回结果。

*目前函数是alert('Ha'),但是,当它工作时,我会将其更改为location.reload(true)

尝试

myAudio.addEventListener('ended', function () {
    alert('ha');
}, true);

要以编程方式添加事件侦听器,您需要向它传递一个函数。这将它封装在lambda/函数表达式中。现在的方法是将返回值alert('ha')传递给addEventListener(即未定义)。

这与使用html属性时不同;例如,当您有onclick="..."时,您需要为它提供要执行的实际代码。