在Javascript/jQuery中,(e)是什么意思?

在Javascript/jQuery中,(e)是什么意思?,javascript,jquery,function,parameters,parameter-passing,Javascript,Jquery,Function,Parameters,Parameter Passing,我是JavaScript/jQuery新手,一直在学习如何生成函数。许多函数突然出现,括号中带有(e)。让我告诉你我的意思: $(this).click(function(e) { // does something }); 函数似乎总是不使用(e)的值,那么为什么经常使用它呢?e是事件对象的短var引用,它将传递给事件处理程序 事件对象本质上有很多有趣的方法和属性,可以在事件处理程序中使用 在您发布的示例中,有一个单击处理程序,它是一个MouseEvent $(<element

我是JavaScript/jQuery新手,一直在学习如何生成函数。许多函数突然出现,括号中带有(e)。让我告诉你我的意思:

$(this).click(function(e) {
    // does something
});

函数似乎总是不使用(e)的值,那么为什么经常使用它呢?

e
事件
对象的短var引用,它将传递给事件处理程序

事件对象本质上有很多有趣的方法和属性,可以在事件处理程序中使用

在您发布的示例中,有一个单击处理程序,它是一个
MouseEvent

$(<element selector>).click(function(e) {
    // does something
    alert(e.type); //will return you click
}
 $("img").on("click dblclick mouseover mouseout",function(event){
            $("h1").html("Event: " + event.type);
    }); 
$()。单击(函数(e){
//做点什么
警报(e.type);//将返回给您单击
}
-鼠标事件演示使用
e.which
e.type

一些有用的参考资料:


它是对当前事件对象的引用

在该示例中,
e
只是该函数的一个参数,但它是通过它传入的
事件
对象。

e
没有任何特殊意义。当参数是
事件

可能是

$(this).click(function(loremipsumdolorsitamet) {
    // does something
}

同样。

参数
e
是事件对象的缩写。例如,您可能希望为取消默认操作的锚创建代码。为此,您可以编写如下代码:

$('a').click(function(e) {
    e.preventDefault();
}
这意味着当单击
标记时,阻止单击事件的默认操作


虽然您可能经常看到它,但即使您已将其指定为参数,也不必在函数中使用它。

在jQuery
e
中,当前事件对象是
事件的缩写。它通常作为参数传递给要触发的事件函数

演示:

在演示中,我使用了
e

$("img").on("click dblclick mouseover mouseout",function(e){
        $("h1").html("Event: " + e.type);
}); 
我也可以使用
事件

$(<element selector>).click(function(e) {
    // does something
    alert(e.type); //will return you click
}
 $("img").on("click dblclick mouseover mouseout",function(event){
            $("h1").html("Event: " + event.type);
    }); 
同样的事情

程序员很懒惰我们使用了很多速记,一方面它减少了我们的工作量,另一方面有助于提高可读性。理解这一点将帮助你理解编写代码的心态

免责声明:这是对这篇文章的一个很晚的回复,但当我阅读了对这个问题的各种回复后,我感到震惊的是,大多数答案都使用了只有经验丰富的程序员才能理解的术语。这个答案是为了在一个新手读者的头脑中解决最初的问题

简介 小“(e)”实际上是Javascript中更广泛范围的事件处理函数的一部分。每个事件处理函数都接收一个事件对象。在本讨论中,将对象视为一个包含一系列属性(变量)和方法(函数)的“对象”,很像其他语言中的对象。句柄,即小东西(e)中的“e”,就像一个变量,允许您与对象交互(我非常松散地使用变量这个术语)

考虑以下jQuery示例:

$("#someLink").on("click", function(e){ // My preferred method
    e.preventDefault();
});

$("#someLink").click(function(e){ // Some use this method too
    e.preventDefault();
});
解释
  • “#someLink”是您的元素选择器(哪个HTML标记将触发此操作)
  • “单击”是一个事件(单击所选元素时)
  • “函数(e)”是事件处理函数(在事件发生时,创建对象)
  • “e”是对象处理程序(对象可访问)
  • “preventDefault()”是对象提供的方法(函数)
发生了什么事?
当用户单击id为“#someLink”(可能是锚定标记)的元素时,调用匿名函数“function(e)”,并将生成的对象分配给处理程序“e”。现在使用该处理程序并调用其方法之一“e.preventDefault()”,这将阻止浏览器对该元素执行默认操作

注意:句柄几乎可以被命名为任何您想要的名称(即“function(billybob)”。“e”代表“event”,这似乎是此类函数的标准名称

虽然“e.preventDefault()”可能是事件处理程序最常用的用法,但对象本身包含许多可通过事件处理程序访问的属性和方法


关于这个主题的一些非常好的信息可以在jQuery的学习网站上找到。请特别注意和部分。

今天我刚刚写了一篇关于“为什么我们在e.preventDefault()中使用像“e”这样的字母?”的帖子,我想我的答案会有一定的意义

首先,让我们看看addEventListener的语法

通常是: target.addEventListener(类型,listener[,useCapture]);

addEventlistener的参数定义为:

类型:表示要侦听的事件类型的字符串

侦听器:当发生指定类型的事件时,接收通知的对象(实现事件接口的对象) 发生。这必须是实现EventListener的对象 接口或JavaScript函数

(来自MDN)

但我认为有一点应该注意: 当您使用Javascript函数作为侦听器时,实现事件接口的对象(对象事件)将自动分配给函数的“第一个参数”。因此,如果您使用函数(e),对象将分配给“e”,因为“e”是函数的唯一参数(定义为第一个!),然后您可以使用e.preventDefault来阻止

让我们尝试以下示例:

<p>Please click on the checkbox control.</p>
<form>
    <label for="id-checkbox">Checkbox</label>
    <input type="checkbox" id="id-checkbox"/>

    </div>
</form>
<script>
    document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
         //var e=3;
         var v=5;
         var t=e+v;
         console.log(t);
        e.preventDefault();

    }, false);
</script>
请单击复选框控件

复选框 document.querySelector(“id复选框”).addEventListener(“单击”,函数(e,v){ //变量e=3; var v=5; var t=e+v; 控制台日志(t); e、 预防默认值(); },f
$(this).click(function(e) {
    // does something
});