jquery / javascript:function(e){…什么是e? 为什么需要? 它实际上做了什么/完成?

$('#myTable').click(function(e) { var clicked = $(e.target); clicked.css('background', 'red'); }); 

有人可以向我解释这一点,并解释为什么需要,以及它实际上是什么..

使用e仅仅是event的简称。 你可以传递你想要的任何variables名称。

 // would work just the same $('#myTable').click(function(anyothername) { var clicked = $(anyothername.target); }); 

你可以查看更多关于jQuery处理事件的信息 。

e (引发事件的对象)的一个好处是可以阻止某些元素的默认行为的传播。 例如:

 <a id="navLink" href="http://mysite/someOtherPage.htm">Click For Info</a> 

呈现用户可以点击的链接。 如果用户禁用JavaScript(为什么?我不知道),您希望用户点击链接时导航到某个OtherPage.htm。 但是,如果他们启用了JavaScript,那么您希望显示一个模式对话框,而不是离开页面。 您将通过防止锚点/链接的默认行为并显示模式来处理此问题:

 $("#navLink").click(function(e) { e.preventDefault(); //this prevents the user from navigating to the someOtherPage.htm $("#hiddenDiv").dialog({ //options }); //show the dialog }); 

因此,使用该参数可以让您在其他答案中描述,防止所选元素的默认行为。

希望这可以帮助!

我在理论上是说我不是专家,但是我通过使用他(e)这个小东西来达到理想的结果

我想到了。 这是将同一个事件从一个函数传递给另一个函数的一种方式。

简单来说, 我想使页面导航为弹性滚动function,但是,我希望页面通过hover进行导航“和”我希望在某些情况下可以单击相同的导航。 我也想从其他点击事件,而不是链接相同的dynamic导航。 为了保持当前的目标,仍然使用导航function,我不得不设置小(五),因为jQuery将失去作为函数lol相同的目标$(this)的作用域。 这是一个简单的例子。

 function navigate_to_page(e){ var target = $(e.currentTarget).attr('href'); //--This is the same as $(this) but more static to bring out of it's scope $('html, body').animate({ 'scrollTop':$(target).offset().top-0, 'scrollLeft': $(target).offset().left-$(window).width()*0.0}, 2000, 'easeOutBounce'); } 

别让胡言乱语让你困惑。 这只是一个简单的页面滚动animation。 要注意的是eCurrentTargete是我们的variables, currentTarget是一个相当于$(this)的jQuery,所以这些是一个Globular $(this)函数。 现在我用另一个函数调用它,像这样的条件

 $('#myNavigationDiv a').on('mouseenter', function(e){ if($(myCondition) === true){ return false; }else{ navigate_to_page(e); } }); 

看看小东西(e)如何将所有东西联系在一起?

现在你可以用(e)来代替(whateveryouwant)。 通过在这两个函数调用e它匹配e。currentTarget,你可以将其应用于任何你需要的详细的特定function,并保存自己的LITERALLY页代码大声笑

这是函数的forms参数。 当函数被调用时,jQuery将传入一个事件对象。 这是用来确定目标。 正如文档中所指出的,即使浏览器(例如IE)没有,jQuery也会一直传递一个事件对象。

在这种情况下,目标告诉你哪个元素最初被点击。