次のように、すべての関数をすぐに呼び出される関数式にラップしました。
(function(){
"use strict";
function toggleComment(parentCommentID) {
$("form#" + parentCommentID).toggle();
}
function scrollBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
})();
ただし、リンクを介してこれらの関数の1つを呼び出すと、次のようになります。
<a href="javascript:void(0)" onclick="toggleComment(159); return false;">Reply</a>
Chromeコンソールの出力Uncaught ReferenceError: toggleComment is not defined
。その名前が示すように、即時に呼び出される関数式はすぐに呼び出されるべきであり、したがって呼び出されるべきであると私は誤解していtoggleComment
ますか?関数を別の方法で呼び出す必要がありますか?