JavaScript中的事件与事件处理程序

4

我的老师说,JavaScript中的onclick是一个事件和事件处理程序。但我无法同意她的观点,我认为它们是不同的但又无法明确区分。我已经进行了大量的谷歌搜索,但找不到任何相关信息。所以,请有人能够区分一下事件和事件处理程序。


1
点击是事件,onclick是处理程序。顺便问一下,有什么问题吗? - Mr. Alien
@Mr.Alien-那么在“=”符号后面给出的函数是什么功能呢?例如:<button onclick="myfunc()";>,我认为这个函数是一个事件处理程序。你怎么看?@Mr.Alien - GARIMA JAIN
5个回答

4
根据https://developer.mozilla.org的文档: 事件
事件被发送以通知代码已经发生的事情。每个事件都由基于事件接口(Event interface)的对象表示,可以具有额外的自定义字段和/或函数来获取有关发生情况的其他信息。事件可以代表从基本用户交互到通知网页中发生的事情的一切。 事件处理程序
在事件触发时执行某些操作的函数或代码行称为事件处理程序。
例如: click是单击某物时触发的事件。 onclick是在单击事件发生时执行某些操作的事件处理程序。

<button onClick="alert('You clicked me');">Click me to fire a click event</button>

在上面的例子中,当按钮被点击时,事件处理程序(onClick)会执行一个任务,即弹出并显示消息。
事件处理程序也可以附加到特定的事件,例如下面的示例:

document.getElementById('sampleParagraph').addEventListener("click", function(){
  //I am the event handler Function
  alert("A click event occured on the paragraph");
});
<p id="sampleParagraph">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum
</p>

在上面的例子中,我们将事件处理程序附加到段落上,在单击事件时显示警报框。

1
@GARIMAJAIN 如果你在onClick处理程序中传递一个函数,那么这意味着处理程序(onClick)将执行任务,即在单击事件发生时调用并执行myfunc()函数。 - Shakti Phartiyal
1
好的,这意味着当按钮被点击时,“事件”click会发生,然后由“事件处理程序”onclick监听/处理此事件,其工作是对已发生的“事件”进行操作,并调用函数“myfunc”。将“事件”对象(click)传递给“事件处理程序”onclick是由浏览器/DOM完成的。而且,“事件”是一个对象。如果我解释得正确,请说“正确”,否则请纠正我。我是处于生死存亡之际。 :) - GARIMA JAIN
@GARIMAJAIN 很好。如果您有其他问题,请与我联系。还请批准/点赞答案,以帮助社区。 - Shakti Phartiyal
我真的不理解使用CIDR、超网和子网划分来分配可变大小的子网的IP地址分配。此外,是否有其他方式可以讨论,因为我不能在这里聊天,声誉还不够。另外,这是我提出的一个问题:https://networkengineering.stackexchange.com/questions/41007/cidr-block-allocation - GARIMA JAIN
让我们在聊天中继续这个讨论。 (http://chat.stackoverflow.com/rooms/143688/discussion-between-shakti-phartiyal-and-garima-jain)。 - Shakti Phartiyal
显示剩余2条评论

0

事件表示某件事情已经发生。事件处理程序是当该事件发生时,要执行的操作列表,即在特定事件发生时要执行的一系列操作。

什么是onclick事件? 当用户单击按钮或任何元素时,如果注册了onclick属性,则会自动注册一个事件,并在发生该事件时调用您指定的函数(事件处理程序),并传递事件对象(可选)。


0

这只是JavaScript中考虑事件时需要处理的不同事物的术语。

onclick是一个事件的名称。

当它发生时,您将获得一个onclick事件对象。

您编写的用于处理事件的函数是事件处理程序。

因此,当事件发生时,事件对象会传递给您的事件处理程序。


0

事件是指可以发生在您的元素上的某些事情,而事件处理程序则是定义您希望如何对该事件做出反应的一种方式。例如,单击事件将在单击按钮时发生,现在您可以定义一个在该事件发生时调用的函数,这将是您的事件处理程序。 参考资料:https://www.w3schools.com/js/js_events.asp


0

“事件”是指发生在HTML元素上的动作,例如点击、鼠标悬停、按键等。它与浏览器有关。 另一方面,“事件处理程序”是用JavaScript编写的,用于处理由浏览器引起的动作,例如验证用户输入等。链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接