addEventListener在没有我甚至要求的情况下调用该函数

addEventListener在没有我甚至要求的情况下调用该函数

所以我们有一个页面:

<span id='container'>
    <a href='#' id='first'>First Link</a>
    <a href='#' id='second'>Second Link</a></span>

并想要添加一些点击事件:

first.addEventListener('click', function(){alert('sup!');})

奇迹般有效!但是,当您将第二个参数设为外部函数时:

function message_me(m_text){
    alert(m_text)}second.addEventListener('click', message_me('shazam'))

它立即调用该函数。我怎么能阻止这个?很烦人!

这是一个现场演示:http://jsfiddle.net/ey7pB/1/


炎炎设计
浏览 332回答 3
3回答

慕神8447489

function&nbsp;message_me(m_text){ &nbsp;&nbsp;&nbsp;&nbsp;alert(m_text)}&nbsp;second.addEventListener('click',&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message_me('shazam'); &nbsp;&nbsp;&nbsp;&nbsp;});这是一个更新的小提琴。

牛魔王的故事

或者你可以使用.bindfunction&nbsp;message_me(m_text){ &nbsp;&nbsp;&nbsp;&nbsp;alert(m_text);}second.addEventListener('click',&nbsp;message_me.bind(this,&nbsp;'shazam'));查看&nbsp;关于'闭包'的MDN文档
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript