我只是在学习 JavaScript 并阅读那本 Ninja Secrets 书,这就是他将点击事件绑定到按钮的方法。因此,由于我只是一个初学者,并且我想要学习的是这样做的最佳和最终方式(将点击处理程序添加到按钮),还是他只是以此作为示例来演示闭包,而这并不是真正的方式世界它完成了。
<body>
<button id="test">Click Me!</button>
<script>
function bind(context,name){ //#1
return function(){ //#1
return context[name].apply(context,arguments); //#1
}; //#1
} //#1
var button = {
clicked: false,
click: function(){
this.clicked = true;
assert(button.clicked,"The button has been clicked");
console.log(this);
}
};
var elem = document.getElementById("test");
elem.addEventListener("click",bind(button,"click"),false); //#2
</script>
</body>