我是 JavaScript/jQuery 的新手,我一直在学习如何创建函数。许多函数都出现在括号中的 (e) 中。让我告诉你我的意思:
$(this).click(function(e) {
// does something
});
该函数似乎总是不使用 (e) 的值,那么为什么它经常出现呢?
我是 JavaScript/jQuery 的新手,我一直在学习如何创建函数。许多函数都出现在括号中的 (e) 中。让我告诉你我的意思:
$(this).click(function(e) {
// does something
});
该函数似乎总是不使用 (e) 的值,那么为什么它经常出现呢?
e
是event
将传递给事件处理程序的对象的简短 var 引用。
事件对象本质上有很多有趣的方法和属性,可以在事件处理程序中使用。
在您发布的示例中是一个点击处理程序,它是一个 MouseEvent
$(<element selector>).click(function(e) {
// does something
alert(e.type); //will return you click
}
DEMO - 鼠标事件 DEMO 使用e.which
和e.type
一些有用的参考资料:
http://api.jquery.com/category/events/
http://www.quirksmode.org/js/events_properties.html
http://www.javascriptkit.com/jsref/event.shtml
免责声明:这是对这篇特定帖子的一个很晚的回复,但当我阅读了对这个问题的各种回复时,我突然意识到大多数答案使用的术语只有经验丰富的程序员才能理解。这个答案是为了解决新手观众的原始问题。
' (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();
});
发生了什么?
当用户点击 id 为“#someLink”(可能是锚标记)的元素时,调用匿名函数“function(e)”,并将结果对象分配给处理程序“e”。现在使用该处理程序并调用它的方法之一"e.preventDefault()",这将阻止浏览器为该元素执行默认操作。
注意:句柄几乎可以命名为您想要的任何名称(即' function(billybob) ')。“e”代表“事件”,这似乎是此类功能的标准。
尽管“e.preventDefault()”可能是事件处理程序最常见的用途,但对象本身包含许多可以通过事件处理程序访问的属性和方法。
可以在 jQuery 的学习站点http://learn.jquery.com 上找到有关此主题的一些非常好的信息。请特别注意使用 jQuery 核心和事件部分。
e
没有什么特别的意义。这只是一个约定使用e
时,参数是函数的参数名称event
。
有可能
$(this).click(function(loremipsumdolorsitamet) {
// does something
}
以及。
在那个例子中,e
只是该函数的一个参数,但它是event
通过它传入的对象。
该e
参数是短期的事件对象。例如,您可能希望为取消默认操作的锚点创建代码。为此,您将编写如下内容:
$('a').click(function(e) {
e.preventDefault();
}
这意味着当一个<a>
标签被点击时,阻止点击事件的默认操作。
虽然您可能经常看到它,但即使您已将其指定为参数,也不必在函数中使用它。