好了,当我学习JavaScript时,我阅读的所有书籍和Internet文章都显示了将参数传递给e
处理JavaScript事件的函数的代码,例如下面的代码块:
function myEvent(e) {
var evtType = e.type
alert(evtType)
// displays click, or whatever the event type was
}
我一直都接受这种方式,但是现在我有一些问题(这让我很困惑):
在e
很短的event
创建事件的最简单方法是单击页面上的某个位置。
当您单击时,将click
触发一个事件。这event
实际上是一个对象,其中包含有关刚刚发生的操作的信息。在此示例的情况下,事件将具有诸如单击坐标(event.screenX
例如),单击的元素(event.target
)等信息。
现在,事件一直在发生,但是您对所有发生的事件都不感兴趣。当你正在感兴趣然而,在一些情况下,当你添加一个事件监听器,你知道会创建活动[1]的元素。例如,您有兴趣知道 用户何时单击“订阅”按钮,并且希望在此事件发生时 执行某些操作 。
为了对这个事件做一些事情,您将 事件处理程序 绑定到您感兴趣的按钮。将处理程序绑定到元素的方法是do
element.addEventListener(eventName, handler)
。
eventName
是一个字符串,它是您感兴趣的事件的名称,在这种情况下,它将是'click'
(针对该click
事件)。
处理程序只是一个 函数 ,它在事件发生时会执行某些操作(已执行)。默认情况下,处理程序函数在执行时
将event
对象(当您感兴趣的事件/操作发生时创建) 作为参数 传递 。
将event
a 定义为处理函数的参数是可选的,但有时(大多数情况下),对于处理函数了解发生的事件很有用。当你 做 定义它,这是e
你在像你提到的那些功能见。请记住,event
只是一个普通的javascript对象,上面有很多属性。
希望能有所帮助。
至于第三个问题,现在您应该知道您不能这样做,因为e
仅在事件发生时存在。您可以使用处理程序函数,该函数可以在e
对象执行时对其进行访问,以将其存储在某个全局变量中并对其进行处理。
[1]并不完全正确,但是更容易理解。说的更正确的话是“将事件侦听器添加到您知道将使事件流过的元素中”。
问题内容: 在猫鼬文档中,它经常列出某些查询运算符(如)的可选回调,但是,它没有提及回调采用的参数(参数)。他们是什么,我怎么知道? 另外,如果,等都是可选的,我想在结束时指定一个回调,我必须在传递值,或空物体或我可以只指定回调- 和软管做猫鼬知道吗? 问题答案: 对于几乎所有的猫鼬查询,所提供的函数将在文档中所述的节点回调模式 中用两个参数调用: 在Mongoose中将回调传递给查询的任何地方,
本文向大家介绍在React中怎么将参数传递给事件?相关面试题,主要包含被问及在React中怎么将参数传递给事件?时的应答技巧和注意事项,需要的朋友参考一下 如果使用箭头函数声明函数,调用方式: 不传参:this.func1,如果不传参,事件参数默认会自己添加上 传参: (e) => {this.func1(e,'param1', 'param2')},如果传参,事件参数需要手动传递过来 如果不用箭
我知道 当您同步一个代码块时,您可以指定要使用哪个对象的锁作为锁,这样,例如,您可以使用某个第三方对象作为这段代码的锁。这使您能够在单个对象中拥有多个用于代码同步的锁。 但是,我不明白是否需要将参数传递给块。因为我是否传递String的实例并不重要,一些随机类的实例传递给同步块,因为同步块可以完美地工作,而不管传递给块的参数如何。 所以我的问题是,如果无论如何同步块阻止两个线程同时进入关键部分。那
问题内容: 我当时在Swinject上工作,但问题困扰着我。我已经整整一天都被困在那里。我怀疑这是由于Swift是一种静态类型的语言,但我不确定。 我在这个操场上总结了我的问题 我尝试了不同的解决方案,例如test.self或type(of:test),但它们都不起作用。 所以我想我不能用提供为变量的通用参数来调用函数? 问题答案: 与 协议元类型有两种。对于某些协议和符合类型: A 描述协议本身
问题内容: 我知道 同步代码块时,可以指定要将哪个对象的锁用作锁,例如,可以将某些第三方对象用作此代码段的锁。这样一来,您就可以在一个对象中拥有多个锁来进行代码同步。 但是,我不明白需要将参数传递给该块。因为我是否传递String的实例都没有关系,所以某些随机类的实例作为同步块可以完美地工作,而与传递给该块的参数无关。 所以我的问题是 ,无论如何,同步块是否阻止两个线程同时进入关键部分。 那为什么
问题内容: 我正在看ribs.js截屏视频中出色的peepcode演示代码。在其中,主干代码全部封装在传递给jQuery对象的匿名函数中: 在我自己的主干代码中,我将所有代码包装在jQuery DOM’ready’事件中: 第一种方法的目的/优势是什么?这样做会创建一个匿名函数,然后立即将jQuery对象作为函数参数传递来执行该匿名函数,从而有效地确保$是jQuery对象。这是唯一的观点-保证jQ