onclick 事件 - 为什么 Javascript 在加载上运行它

onclick event - why Javascript runs it onload

本文关键字:加载 运行 Javascript 事件 为什么 onclick      更新时间:2023-09-26
<p id="specialp">some content</p>
<script>
document.getElementById('specialp').onclick=alert('clicked');
</script>

我刚刚开始使用 Javascript,我不明白为什么在页面加载时执行警报,而不是在我单击该段落时执行警报。

处理程序在我将其内联时按我的预期工作,如下所示:

<p id="specialp" onclick="alert('clicked')" >some content</p>

这是因为您没有将onclick赋值包装为实际函数,因此它会尝试将alert('clicked')的结果分配给 onclick 事件处理程序(这意味着它在分配时可能undefined)。您需要做的是为该处理程序分配一个函数,如下所示:

document.getElementById('specialp').onclick = function()
{
    alert('clicked');
};

当你在HTML中做同样的事情时,DOM会自动将内容包装在一个函数中。