如何使Javascript中的函数成为html的全局函数

如何使Javascript中的函数成为html的全局函数,javascript,jquery,html,Javascript,Jquery,Html,首先,我感谢你给我的任何指导。。。。让我先说一句,我正在学习Javascript和HTML 我的问题是,我试图调用我的函数来更新音频时间,如下所示: <audio id="track" preload="auto" type="audio/mpeg" ontimeupdate="displayTime(this)"> <source src="mp3/mysong.mp3" type="audio/mpeg"> Unsupp

首先,我感谢你给我的任何指导。。。。让我先说一句,我正在学习Javascript和HTML

我的问题是,我试图调用我的函数来更新音频时间,如下所示:

<audio id="track" preload="auto" type="audio/mpeg" ontimeupdate="displayTime(this)">
            <source src="mp3/mysong.mp3" type="audio/mpeg">
            Unsupported audio format!
        </audio>

有人能告诉我为什么没有定义错误函数displayTime(这个)吗?我还尝试使用window.myFunction使其成为dom的全局函数。。。无效。

因为它在函数范围外不可见

声明后,将函数的引用指定给全局对象

window.displayTime = displayTime;

document.ready
处理程序中的任何内容都将放在该函数的作用域内。因此,如果希望函数在作用域内声明为全局函数,则需要在全局作用域中声明它,然后可以将其与
窗口一起使用。
前缀

$(document).ready(function () {
 ... /*Global Variables*/
window.displayTime = function (event) { ... }
});
用法:

<button onclick="window.displayTime()">test</button>
测试

除了将函数设置为全局函数外,还可以通过JavaScript将事件侦听器连接到如下位置:

$('#track').on('timeupdate', displayTime);

分配给
窗口
属性是正确的做法。如果这样做不起作用,说明你做得不好,但是由于你没有发布代码,没有人能说出原因。为了获得额外的积分,请查看事件的本机和JQuery方式:并且你还可以在ready函数中注册事件!通过执行
$(文档).on('timeupdate',“#track”,displayTime)
工作起来很有魅力!…我一有机会就接受你的答案。很高兴它有帮助:)
$('#track').on('timeupdate', displayTime);