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

2020/11/30 21:22 · jquery ·  · 0评论
$('#myTable').click(function(e) {
    var clicked = $(e.target);
    clicked.css('background', 'red');
});

有人可以向我解释一下,并解释为什么需要e以及它实际做什么。

使用e只是的缩写event您可以传递所需的任何变量名。

// 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(为什么?不知道),您希望用户在单击链接时导航到someOtherPage.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)就可以达到预期的效果,

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

简单来说。我想使页面导航具有弹性滚动功能,但是,我希望页面通过悬停来导航,并且我希望在某些条件下可以单击相同的导航。我还希望从不是链接的其他单击事件中获得相同的动态导航。为了保留当前目标并仍然使用导航功能,我必须设置小(e),因为jQuery会失去$(this)的作用域与函数lol的相同目标。这是一个简单的例子。

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');
}

不要让胡言乱语使您困惑。这只是一个简单的页面滚动动画。要注意的是e.currentTargete是我们的变量,而currentTarget是一个等效于$(this)的jQuery,因此它们合起来就是Globular $(this)函数。现在,我通过另一个具有类似条件的函数来调用它

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

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

现在,您可以将(e)替换为(whateverwant)。通过在两个函数中调用e,它与e .currentTarget相匹配,您可以将其应用于所需的任何详细的特定函数,并保存自己的代码大声笑页面

这是函数的形式参数。调用函数时,jQuery将传递事件对象。这用于确定目标。文档中所述,即使浏览器(例如IE)没有,jQuery也会始终传递事件对象。

在这种情况下,目标会告诉您最初单击哪个元素。

本文地址:http://jquery.askforanswer.com/jquery-javascriptfunctioneshenmeshieweishenmexuyaotatashijishangshizuoshenme.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!