在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>



单击按钮时,文本1和文本2应该出现在p中,但是什么也没有发生。如果我在HTML中添加onclick =“ writeText(” text one“,” text two“)可以正常工作,但我不想这样做,谢谢您的回答。

最佳答案

您可以使用按钮的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;
}

10-02 12:45
查看更多