简单函数在使用onclick时触发,在JS中使用addEventListener时不触发

时间:2019-05-05 14:50:54

标签: javascript html onclick addeventlistener

该函数在JS中用addEventListener调用时不起作用,我对同一项目中的其他函数使用了相同的方法,它们都可以正常工作。

我已经将其设为高阶函数,但仍然无法触发,将其表达式包装到另一个函数中,仍然无法正常工作。


    function contenutoSkills(nomelinguaggio, item1, item2, item3) {
  document.getElementById("linguaggio").innerHTML=nomelinguaggio;
  document.getElementById("programma1").innerHTML=item1;
  document.getElementById("programma2").innerHTML=item2;
  document.getElementById("programma3").innerHTML=item3;
}
const button = document.getElementById('button');

button.addEventListener('click', () => contenutoSkills('HTML', 'PG1', 'PG2', 'PG3'));

<button id='button'>click me<button>

<p id="linguaggio"></p>
  <ul>
     <li><p id="programma1">Programma1</p></li>
     <li><p id="programma2">Programma2</p></li>
     <li><p id="programma3">Programma3</p></li>
  </ul>

单击按钮时,

文本一和文本二应出现在p中,但什么也没有发生。如果我在HTML中添加onclick =“ writeText(”文本一“,”文本二“),效果很好,但我不想这样做,谢谢答案。

1 个答案:

答案 0 :(得分:2)

您可以使用按钮的onclick属性而不是addEventListener。

HTML:

<button id='button' onclick="contenutoSkills('html','pg1','pg2','pg3')">click me<button>

<p id="linguaggio"></p>
  <ul>
     <li><p id="programma1">Programma1</p></li>
     <li><p id="programma2">Programma2</p></li>
     <li><p id="programma3">Programma3</p></li>
  </ul

<script>标签中,这将是JavaScript代码:

    function contenutoSkills(nomelinguaggio, item1, item2, item3) {
  document.getElementById("linguaggio").innerHTML=nomelinguaggio;
  document.getElementById("programma1").innerHTML=item1;
  document.getElementById("programma2").innerHTML=item2;
  document.getElementById("programma3").innerHTML=item3;
}