Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript如何控制事件_Javascript_Events - Fatal编程技术网

Javascript如何控制事件

Javascript如何控制事件,javascript,events,Javascript,Events,假设我有一个使用onmouseover事件的简单代码 <div onmousemove="myMoveFunction()"> <p id="demo">I will demonstrate onmousemove!</p> </div> 我将在MouseMove上演示 (来自学校) 我想问,Javascript怎么知道鼠标在那个div上?或者当我们使用onclick时,Js如何知道按钮被点击了。是否有自动事件侦听

假设我有一个使用onmouseover事件的简单代码

    <div onmousemove="myMoveFunction()">
      <p id="demo">I will demonstrate onmousemove!</p>
    </div>

我将在MouseMove上演示

(来自学校)

我想问,Javascript怎么知道鼠标在那个div上?或者当我们使用onclick时,Js如何知道按钮被点击了。是否有自动事件侦听器?或者是否有任何周期控制后台事件的持续变化? 请帮帮我,我很困惑


当您使用例如
时,任何要读取的链接都是可以的,因为浏览器在页面加载时读取DOM,在幕后为事件侦听器生成代码,并且没有其他内容

当您使用例如
时,当浏览器在页面加载时读取DOM时,它会在后台为事件侦听器生成代码,而没有其他内容

浏览器负责收集页面上出现的事件。当为给定操作添加事件侦听器时,侦听器的回调将添加到事件循环中。事件循环是一个无限循环,它不断检查是否有事情要做(以cpu优化的方式)。在事件循环中,有两个主要任务:

  • 如果DOM或CSSOM发生更改,则呈现页面
  • 在某些特定操作发生时执行回调
重要的是要知道javascript是单线程的,这意味着如果存在长时间运行的回调,浏览器将无法重新加载页面,因此页面将冻结

另一种理解引擎盖下发生的事情的方法是打开chrome开发工具并进入性能面板。您可以在那里找到与页面交互时发生的确切情况:

有几种方法可以添加事件侦听器:

  • 在html中,在[eventname]=action上使用
    ,即
  • 在javascript中,通过将函数分配给on[eventname]属性,即
    windows.onload=()=>alert(“hello”)
  • 在javascript中,使用
    addEventListener()
    方法,即
    element.addEventListener(“单击”,()=>alert(“hello”)
如果您想了解更多有关事件循环的信息,请参阅以下参考资料:

  • (更高级)
还有一个非常好的免费课程,解释了很多关于浏览器如何工作的内容,最重要的是向您展示了如何提高网站的性能:
浏览器负责收集页面上出现的事件。当为给定操作添加事件侦听器时,侦听器的回调将添加到事件循环中。事件循环是一个无限循环,它不断检查是否有事情要做(以cpu优化的方式)。在事件循环中,有两个主要任务:

  • 如果DOM或CSSOM发生更改,则呈现页面
  • 在某些特定操作发生时执行回调
重要的是要知道javascript是单线程的,这意味着如果存在长时间运行的回调,浏览器将无法重新加载页面,因此页面将冻结

另一种理解引擎盖下发生的事情的方法是打开chrome开发工具并进入性能面板。您可以在那里找到与页面交互时发生的确切情况:

有几种方法可以添加事件侦听器:

  • 在html中,在[eventname]=action上使用
    ,即
  • 在javascript中,通过将函数分配给on[eventname]属性,即
    windows.onload=()=>alert(“hello”)
  • 在javascript中,使用
    addEventListener()
    方法,即
    element.addEventListener(“单击”,()=>alert(“hello”)
如果您想了解更多有关事件循环的信息,请参阅以下参考资料:

  • (更高级)
还有一个非常好的免费课程,解释了很多关于浏览器如何工作的内容,最重要的是向您展示了如何提高网站的性能:

javascript不知道。浏览器知道。javascript不知道。我知道。