1

是什么event

 $(document).ready(function(){
   $("a").click(function(event){
     alert("Thanks for visiting!");
   });
 });

还有这个

 $(document).ready(function(){
   $("a").click(function(){
     alert("Thanks for visiting!");
   });
 });

这两个 JS 块做同样的事情,但是一个带有event,如果有人可以解释什么是function(event),我也看到了类似 function(e),function(g) 的东西,那些是什么?有教程可以学习吗?

4

6 回答 6

3

您提供的回调函数$("a").click是一个带有参数的函数。此参数是一个事件对象,包含有关该对象的详细信息。您的函数声明可以使用您喜欢的任何名称来获取此参数 — event, e, g... 它也可以简单地将其省略,因为您没有在函数内部使用它。

考虑到这两个函数本质上是相同的:

function foo(hi) {
   alert(hi);
}

function foo(bye) {
   alert(bye);
}

如果不使用它,你可能会忽略它:

function bar() {
   alert("hello!");
}

bar(12345);
于 2012-10-26T09:18:54.390 回答
2

Event 是一个对象,它表示产生要执行的函数的...事件。

以下是有关该主题的更多信息:

http://api.jquery.com/category/events/event-object/

它通常用于防止某个事件的默认行为,或阻止该事件传播到父对象:

function(e){
     e.stopPropagation();
     e.preventDefault();
}
于 2012-10-26T09:19:39.083 回答
1

event一个示例中的 是未使用的参数。

jQuery 将各种参数传递给每个事件处理程序 - 您可以在文档中找到这些参数的详细信息(例如http://api.jquery.com/click/)。

由于您不需要使用该event对象(或e, 或g- 您可以为参数指定任何您想要的名称),那么您是否包含它并不重要

但是,如果您出于某种原因需要使用处理程序(例如调用event.preventDefault()以防止发生默认单击行为),那么您需要包含它。

于 2012-10-26T09:18:05.163 回答
1

jQuery 将 eventObject 传递给您的示例中未使用的处理程序/回调函数。
您可以阅读有关 JQuery 中的 eventObject 的更多信息。

于 2012-10-26T09:19:10.000 回答
1

事件:JavaScript 中的事件是在网页中或网页上发生的事情。

事件示例: 鼠标单击

网页加载

将鼠标悬停在网页上的热点上,也称为悬停

在 HTML 表单中选择输入框

按键等...

Jquery 中的事件

使用 e 只是事件的缩写。您可以使用任何变量说 g 而不是 e

 $('#xyz_id').click(function(g){
   var clicked_target = g.target;
 });

您可以进一步查看 jquery 中的事件

http://api.jquery.com/category/events/event-object/

于 2012-10-26T10:11:17.973 回答
0

event 参数是一个可选参数,它可以是任何有效的变量名。根据您的要求,您可以通过或忽略它。

访问http://api.jquery.com/click/了解更多信息。

.click( handler(eventObject) )

handler(eventObject)A function to execute each time the event is triggered.
version added: 1.4.3.click( [eventData], handler(eventObject) )

eventDataA map of data that will be passed to the event handler.

handler(eventObject)A function to execute each time the event is triggered.
version added: 1.0.click()
于 2012-10-26T09:23:37.567 回答