该函数在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(”文本一“,”文本二“),效果很好,但我不想这样做,谢谢答案。
答案 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;
}