Javascript Jquery和JS中的e来自哪里?
因此,我编写JS已经有一段时间了,基本上我从未真正理解过一件事,即事件中的Javascript Jquery和JS中的e来自哪里?,javascript,jquery,Javascript,Jquery,因此,我编写JS已经有一段时间了,基本上我从未真正理解过一件事,即事件中的E,请看下面的代码: 请查看HTML代码: <a href="https://developer.mozilla.org/en-US/docs/Web/Events/keydown">Hello</a> 现在,在上述代码中,e是什么,我理解如下: e是jquery规范化的对象,正在内部传递 我还遇到了以下解释: 您所引用的函数称为回调函数。 这些函数的参数是从 调用它们(在您的示例中为.o
E
,请看下面的代码:
请查看HTML代码:
<a href="https://developer.mozilla.org/en-US/docs/Web/Events/keydown">Hello</a>
现在,在上述代码中,e
是什么,我理解如下:
e是jquery规范化的对象,正在内部传递
我还遇到了以下解释:
您所引用的函数称为回调函数。
这些函数的参数是从
调用它们(在您的示例中为.on()或.click())
为了更好地说明回调函数是如何工作的,这里有一个例子
我读过一篇关于这方面的文章,但它只回答e是什么,而不是它来自哪里
但是我仍然不明白e是从哪里来的。有人能详细解释一下吗
谢谢
Alex-z当使用jQuery时,e参数(可以随意重命名)将是jQuery传递给事件处理程序方法的事件对象。事件对象是浏览器事件接口的jQuery包装器类型,因此可以在处理程序中使用标准接口
该类型有一个名为“target”的属性,该属性指向浏览器提供的原始本机浏览器事件接口。例如,对于鼠标单击,本机界面就是一个例子。注意:实际的界面可能因浏览器实现不同而不同,尤其是较旧的浏览器实现,这就是为什么jQuery试图通过其类型提供一些一致性。调用函数
回调(响应)
您正在传递function(e){console.log(“这是”+e);}
中的e
参数,如果将f
传递到函数中,即function(f)
,变量将变为f
,而不是e
<代码>e没有意义。它只是一个变量名,是事件
的简称。它是一个事件对象
@guys!你只是在重复我已经读过的东西。。我在问一个更深层次的问题;)这不是已经在我上面给出的链接中解释过了吗?我在问e是从哪里传来的?在触发事件时调用事件处理程序的jQuery代码中,在您的第一个示例中是click事件。当您执行$(“…”).click()时,您告诉jQuery处理DOM click事件,当它被触发时,调用您的函数。。。因此,它创建了我已经解释过的事件对象,并用它作为参数调用函数。如果您对jQuery代码感兴趣,请看一看——这就是触发事件的地方,jQuery创建了事件(e)对象。之后,它通过dispatch来确定定义了哪些处理程序,并在传入创建的对象时调用它们。
$(function () {
$('a').click(function(e){
console.log(e.target)
})
});
function customFunction ( param1, callback ) {
var response = "default response";
if (param1 === "hello") {
response = "greeting";
}
callback(response);
}
customFunction("hello", function(e) {
console.log("this is " + e);
}); // > this is greetings