【问题标题】:event vs eventhandler in javascriptjavascript中的事件与事件处理程序
【发布时间】:2017-05-08 06:06:25
【问题描述】:

我的老师说javascript中的onclick是一个事件和一个事件处理程序。 但我不能同意她的观点,我发现它们不同但无法正确区分。已经进行了大量的谷歌搜索,找不到任何相关的东西。 所以有人请区分事件和事件处理程序。

【问题讨论】:

  • click 是事件,onclick 是处理程序。顺便说一句,问题是什么?
  • @Mr.Alien-那么在 =sign in " " 例如:

标签: javascript events onclick eventhandler


【解决方案1】:

根据https://developer.mozilla.org 的文档。

事件

发送事件以通知代码发生的事情。每个事件都由一个基于 Event 接口的对象表示,并且可能具有额外的自定义字段和/或函数,用于获取有关所发生事件的额外信息。事件可以代表从基本的用户交互到网页中发生的事情的自动通知的所有内容。

事件处理程序

在事件触发时执行某些操作的函数或代码行称为事件处理程序。

例如:

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>

在上面的示例中,我们在段落中附加了一个事件处理程序,点击事件会向您显示警报。

【讨论】:

  • -你说“每个事件都由一个基于事件接口的对象表示,........”所以这意味着点击是一个事件对象,当用户创建通过单击元素与元素交互,然后将此对象传递给 onclick 事件处理程序。这是你说的吗???然后在 =sign in " " eg:
  • @GARIMAJAIN 看看你是否在 onClick 处理程序中传递了一个函数,那么这意味着处理程序 (onClick) 将执行在点击事件时调用和执行 myfunc() 函数的任务。跨度>
  • -好的,这意味着当单击按钮时,“事件”单击发生,然后此事件由“事件处理程序”onclick 侦听/处理,其工作是对“事件”采取行动已经发生,然后它调用函数“myfunc”。而这种“事件”对象(点击)到“事件处理程序”onclick的传递是由tge浏览器/dom完成的。而且“事件”也是一个对象。如果我解释的正确,请说正确,否则请纠正我。我处于生死攸关的境地。 :)
  • @GARIMAJAIN 太好了。如果您有任何其他问题,请联系我。也请批准/赞成答案,以便它对社区有所帮助。
  • @GARIMAJAIN 是的,我愿意。您需要有关该主题的帮助吗?
【解决方案2】:

事件表示某事已经发生。事件处理程序是当该事件发生时,要做什么,即当该特定事件发生时要做的事情的列表。

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

【讨论】:

    【解决方案3】:

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

    点击它是一个事件的名称。

    当它发生时,你会得到一个 onclick 事件对象。

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

    所以当事件发生时,一个事件对象被传递给您的事件处理程序。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-01-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多