gpt4 book ai didi

javascript - 将特定上下文绑定(bind)到事件处理程序

转载 作者:行者123 更新时间:2023-12-02 18:50:21 25 4
gpt4 key购买 nike

我刚刚学习 JavaScript 并阅读了《Ninja Secrets》一书,这就是他将点击事件绑定(bind)到按钮的方法。因此,由于我只是一个初学者,我想做的学习是这样做的最佳和 final方法(将单击处理程序添加到按钮)或者他只是用这个作为示例来演示闭包,而这并不是真正的方法世界已经完成了。

  <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>

最佳答案

他主要是在解释这是如何用于教育目的的。在现代 ECMAScript 5 中,有一个 native Function.bind (docs here)所以你可以这样做:

elem.addEventListener("click", button.click.bind(button), false);

关于javascript - 将特定上下文绑定(bind)到事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com