[英]Using functions from .js file in .ejs file
我有一個 .ejs 文件,我試圖從中訪問 .js 文件中的函數。 這兩個都包含客戶端代碼。 我的問題是,當我嘗試從 .ejs 文件調用函數時,找不到該函數,因為 .js 沒有被使用。
我在 .ejs 文件的標簽中有一個指向 .js 文件的鏈接。
有人可以幫助我解決這個問題,因為我對 Javascript 還很陌生嗎?
.ejs 文件內容:
...
<button type="button" onclick="overlayOn()">view comment</button>
.js 文件有一個名為 overlayOn() 的函數
function overlayOn() {
document.getElementById("overlay").style.display = "block";
}
錯誤:
Uncaught ReferenceError: overlayOn is not defined
at HTMLButtonElement.onclick
此問題已通過使用以下行解決:
app.use("/public", express.static('public'));
您可能需要將所有事件函數包裝在文檔加載函數中。 來自https://developer.mozilla.org/enUS/docs/Web/API/Window/DOMContentLoaded_event :
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed');
});
如果 DOM 在您的腳本文件運行后加載,那么它們的目標是尚未加載的內容。 作為額外的預防措施,將腳本標簽放在 body 元素的底部,以便它在頁面的其余部分加載后運行。 希望這有效!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.