![](/img/trans.png)
[英]Why I'am getting undefined property when calling a javascript function from another javascript file?
[英]Calling Javascript function from another file 'Cannot read property of undefined'
我從這里的Word.js文檔中舉了一個例子,但是我無法在我的項目中使用類似的代碼。 我試圖從另一個在一個js文件中調用方法。 我的方法編寫如下。
var Toast = (function () {
var ToastDiv = "divToast",
Success = "success_notif",
Notice = "",
Output = "";
function showSuccessToast(title, message) {
if (document.getElementById(Success) == null) {
createToast();
}
document.getElementById(Notice).innerText = title;
document.getElementById(Output).innerText = message;
$("#" + Success).animate({ left: '12%', }, 500);
setTimeout(function () {
close();
}, 2000);
}
function close() {
e.preventDefault();
var parent = $(this).parent('.toast');
parent.animate({ left: '110%', }, 500);
}
})();
Home.js
,在同一目錄的Home.js
中,我希望調用showSuccessToast
方法,如下所示:
Toast.showSuccessToast("","");
在Home.html
文件中,我已將javascript鏈接如下:
<script type="text/javascript" src="toast.js"></script>
<script type="text/javascript" src="Login.js"></script>
但是,我仍然收到錯誤消息: Cannot read property 'showSuccessToast' of undefined
。 這是我第一次使用這種語法來定義Toast方法,因此我不確定在哪里出錯。 如何調用showSuccessToast方法?
這是因為您的Toast IIFE沒有返回任何內容。 它應該返回該函數。 在Toast IIFE中添加以下代碼,它將起作用。
return {
showSuccessToast: showSuccessToast,
close: close
};
調用Toast時,Toast不會公開任何函數,因為不會返回任何函數。 所以吐司是不確定的。 結果,您得到此錯誤。
嘗試在Toast函數中添加return {showSuccessToast:showSuccessToast}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.