简体   繁体   English

如何将 DOM 事件作为事件处理程序绑定方法传递

[英]How can I pass the DOM event as an event handler bind method

nav.addEventListener('mouseover',handleHover.bind(null,e,0.5))

I want to passing event itself as an argument to bind method but it gives an error.我想将事件本身作为参数传递给 bind 方法,但它给出了一个错误。 e is undefined. e 未定义。 How can I pass the event itself into an event handler bind method?如何将事件本身传递给事件处理程序绑定方法?

You can pass arguments:您可以通过 arguments:

 const handleHover = (event, opacity) => { event.target.style.opacity = opacity; } nav.addEventListener('mouseover', () => handleHover(event, 0.5));
 <div id="nav">Mouse Over</div>

Using bind ( Not Recommended , just for clarification):使用bind不推荐,只是为了澄清):

 const handleHover = () => { event.target.style.opacity = opacity; } nav.addEventListener('mouseover', handleHover.bind(event, opacity=0.5));
 <div id="nav">Mouse Over</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM