好吧,当我学习JavaScript时,我读过的所有书籍和互联网文章都显示了将参数e传递给处理JavaScript事件的函数的代码,例如下面的代码块:
我总是接受它的方式,但现在我有一些问题(这对我来说非常混乱): >这是从哪里来的?当我查看整个JavaScript文件时,e似乎根本不存在.
解决方法: e是活动的缩写 创建事件的最简单方法是单击页面上的某个位置. 单击时,将触发单击事件.此事件实际上是一个对象,其中包含有关刚刚发生的操作的信息.在此示例中,事件将包含诸如click的坐标(例如event.screenX),您单击的元素(event.target)等信息. 现在,事件一直在发生,但是你对所发生的所有事件都不感兴趣.但是当你对某个事件感兴趣时,就是在你知道会创建事件的元素中添加一个事件监听器[1].例如,您有兴趣了解用户何时单击“订阅”按钮,并且您希望在此事件发生时执行某些操作. 为了对此事件做一些事情,您将事件处理程序绑定到您感兴趣的按钮.将处理程序绑定到元素的方法是执行element.addEventListener(eventName,handler). eventName是一个字符串,它是您感兴趣的事件的名称,在这种情况下将是“click”(对于click事件). 处理程序只是一个在事件发生时执行某些操作(它已执行)的函数.默认情况下,处理程序函数在执行时传递事件对象(在您感兴趣的事件/操作发生时创建)作为参数. 将事件定义为处理函数的参数是可选的,但有时(大多数情况下),处理程序函数可以了解发生的事件.当你定义它时,这就是你在函数中看到的,就像你提到的那样.请记住,事件只是一个常规的javascript对象,上面有很多属性. 希望有所帮助. 欲了解更多信息,请阅读Creating and Triggering Events 至于你的第三个问题,现在你应该知道你不能这样做,因为e只在事件发生时才存在.您可以拥有处理程序函数,该函数在执行时可以访问e对象,将其存储在某个全局变量中并对其进行处理. [1]这不完全正确,但理解起来更简单.更正确的说法是“向你知道会让事件流经它的元素添加一个事件监听器”.有关更多信息,请参见this 来源:https://www./content-1-454101.html |
|