【问题标题】:JavaScript onClick Event FunctionJavaScript onClick 事件函数
【发布时间】:2015-12-29 22:08:10
【问题描述】:

我正在尝试向我在此处创建的按钮添加一个 onClick 事件:https://makerlist.io/smart-feature-finder/。我正在添加一个“你好,世界!”单击按钮进行测试时出现的语句。这是我正在使用的代码,但没有出现任何内容。关于我缺少什么的任何想法?

document.getElementsByClassName(".esg-filterbutton").addEventListener("click", myFunction);

function myFunction() {
    alert ("Hello, World!");
}

谢谢,

乔纳汉

【问题讨论】:

    标签: javascript jquery onclick onclicklistener


    【解决方案1】:

    您的选择器返回一个类似于数组的对象,称为 HTMLCollection,而不是单个元素。

    试试,

    document.getElementsByClassName("esg-filterbutton")[0].addEventListener("click", myFunction);
    

    注意我正在抓取数组中的第一个元素?

    我还删除了课程名称前的.。当您指定要在函数中选择一个类时,您不需要输入.

    【讨论】:

    • 技术上它不是一个数组,它是一个实时的HTMLCollection
    • @epascarello 它是一个类似数组的对象。数组只是我用外行术语解释它的方式。不过感谢您的链接。
    • 有效!谢谢@Script47。
    • 但是如果我想为类的所有元素分配一个函数,而不仅仅是第一个呢?我该怎么做?
    【解决方案2】:

    如果您希望将事件应用到所有按钮,可以将 click 事件绑定到类为 esg-filterbutton 的元素。

    $('.esg-filterbutton').click(function()
    {
        alert ("Hello, World!");
    });
    

    这是一个例子:https://jsfiddle.net/DinoMyte/Lb1wj47j/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 2015-04-27
      相关资源
      最近更新 更多