イベントハンドラコードを属性に割り当てる場合、使用される関数はすべてグローバル変数スコープで使用可能である必要があります。
これを実現するために、それらをのプロパティにすることができますwindow
。現在、あなたの関数never
とstart
関数はIIFE関数スコープに対してローカルです。
// IIFE function
(function() {
// var never, start; // local variables
// Make the functions globally scoped
window.never = function() {
return alert("try");
};
window.start = function() {
return alert("try harder");
};
}).call(this);
必要に応じて、単一の名前空間を公開できます
// IIFE function
(function() {
var ns = window.ns = {};
// Make the functions globally scoped
ns.never = function() {
return alert("try");
};
ns.start = function() {
return alert("try harder");
};
}).call(this);
次に、インラインハンドラーを使用するように変更しns.never();
ますns.start();
。