内联箭头功能单击侦听器

时间:2019-03-14 07:40:02

标签: javascript jquery

这是我的html代码:

<button id ="btn-birthdate" class = "mdc-icon-button material-icons" >
    <i class="material-icons" >stop</i>
</button>

这是我的JavaScript代码

const displayExtraUserInfo  = (userInfo) => {
    const btn = () => {
        document.querySelector('btn-birthdate').onclick = displayBirthdate(UserInfo);
    }
}

但是我一直收到消息

  

您尚未为onclick创建btn-birthdate侦听器,   指定

...当我在Sapio跑步时

问题正在尝试解决

  

创建一个displayExtraUserInfo箭头函数。它应该接受一个参数。然后应该:

     

向ID为btn-birthdate的按钮添加一个内联箭头功能的单击侦听器。侦听器应调用displayBirthdate,并传递收到的参数displayExtraUserInfo

3 个答案:

答案 0 :(得分:4)

onclick分配中,您当前正在执行 displayBirthdate,而不是分配功能。

所以改变

.onclick = displayBirthdate(UserInfo)

收件人:

.onclick = () => displayBirthdate(UserInfo)

另一方面,在定义btn函数之后,您再也不会调用它。添加调用btn()或根本不定义该函数,而直接内联执行其代码。

选择器也有问题。您正在选择标签名称为btn-birthdate的元素,但应按ID选择。 #btn-birthdate

还有另一个错误:userInfo的拼写应该一致,否则您将处理另一个变量。

所以最终的解决方案是:

const displayExtraUserInfo = (userInfo) => {
    document.querySelector('#btn-birthdate').onclick = () => displayBirthdate(userInfo);
}

最后,问题提示您正在寻找按钮。尽管元素ID应该是唯一的,但是您可以在选择器中添加button

const displayExtraUserInfo = (userInfo) => {
    document.querySelector('button#btn-birthdate').onclick = () => displayBirthdate(userInfo);
}

答案 1 :(得分:0)

querySelector方法使用CSS选择器格式,因此mar不会找到任何内容。您需要genoPlotR定位ID“ btn-birthdate”。

您也可以使用plot_gene_map

答案 2 :(得分:0)

这对我有用

const displayExtraUserInfo = (userInfo) => {
        document.getElementById('btn-birthdate').addEventListener('click',()=>{
          displayBirthdate(userInfo)
        } );