开发者

function(e){e.something...} What is e?

When I wri开发者_如何学Gote

$("#new_lang").click(function(e) 
{
  alert("something");
  e.stopPropagation();
});

What is e here, and why doesn't the function work without it? Why can I write anything instead of e?


e is the event object that the handler receives. You need not use "e" specifically as the variable name, you can call it anything you want (as long as it's not any number of keywords!), many call it event for example.

Yes, you can do without it, since it's the first argument, arguments[0] also works, but I wouldn't go that route. You can see this working here, but again I would just use the argument declared like it is currently so it's very explicit.


e, in this context, is the event object raised by the click event. It will work perfectly well without it (albeit, in your example you will be unable to stopPropagation):

$("#new_lang").click(function() 
{
  alert("something");
});

You can also substitute any name for e, as you would with any function param

$("#new_lang").click(function(eventObj) 
{
  alert("something");
  eventObj.stopPropagation();
});


It is event object.

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


e in that example is the event object (link to docs) for the click event. As with any function argument, you can use any name you want. If you don't need to do anything with it (for instance, if you don't need to call stopPropagation), you can leave it off entirely.


Again from http://api.jquery.com/bind/ as linked on the previous question:

The handler callback function can also take parameters. When the function is called, the JavaScript event object will be passed to the first parameter.

The event object is often unnecessary and the parameter omitted, as sufficient context is usually available when the handler is bound to know exactly what needs to be done when the handler is triggered. However, at times it becomes necessary to gather more information about the user's environment at the time the event was initiated.

There is a lot of useful info on that page. :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜