Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我为什么要通过这封信';e';进入这个jQuery函数?_Jquery - Fatal编程技术网

我为什么要通过这封信';e';进入这个jQuery函数?

我为什么要通过这封信';e';进入这个jQuery函数?,jquery,Jquery,我知道E是event的缩写,但我仍然不清楚为什么我需要使用它?我试着通过函数传递其他字母,但它似乎不起作用。是否有其他情况需要将特定字母传递到函数中 $("#myThing").click(function (e) { var hit = $(e.target); hit.css('color','blue'); }); 这也有同样的作用: $("#myThing").click(function () { $(this).css('color','blue'); });

我知道E是event的缩写,但我仍然不清楚为什么我需要使用它?我试着通过函数传递其他字母,但它似乎不起作用。是否有其他情况需要将特定字母传递到函数中

$("#myThing").click(function (e) {
   var hit = $(e.target);
   hit.css('color','blue');
});
这也有同样的作用:

$("#myThing").click(function () {
   $(this).css('color','blue');
});
我什么时候应该使用$(this)而不是'e'


谢谢大家!

不需要通过函数传递特定的字母

$("#myThing").click(function (e) {
   var hit = $(e.target);
   hit.css('color','blue');
});
与相同

$("#myThing").click(function (foo) {
   var hit = $(foo.target);
   hit.css('color','blue');
});
等等

不过,使用
$(e.target)
$(this)
之间的区别可能更为显著,因为
this
始终是事件绑定的元素,而
e.target
将是被单击的特定元素,即使它位于
this
元素内部


希望这是有意义的

您不需要通过函数传递特定的字母

$("#myThing").click(function (e) {
   var hit = $(e.target);
   hit.css('color','blue');
});
与相同

$("#myThing").click(function (foo) {
   var hit = $(foo.target);
   hit.css('color','blue');
});
等等

不过,使用
$(e.target)
$(this)
之间的区别可能更为显著,因为
this
始终是事件绑定的元素,而
e.target
将是被单击的特定元素,即使它位于
this
元素内部


希望有意义

名字
e
毫无意义;您可以随意调用它(显然,只要您同时更新对
e
的引用)

你发布的代码通常会做同样的事情;但请参见以下代码:

​你好​​​​​​​​​​​​​​​​​​
JS:

(在这里跑步:)


你会发现这是假的;这是因为
this
是处理事件的元素,而
e.target
是事件起源的元素(在上面的示例中,它是跨度)。如果您以前不知道事件是这样工作的,那么它被称为事件冒泡,您可以在我的博客上阅读更多关于它的信息。

名称
e
毫无意义;您可以随意调用它(显然,只要您同时更新对
e
的引用)

你发布的代码通常会做同样的事情;但请参见以下代码:

​你好​​​​​​​​​​​​​​​​​​
JS:

(在这里跑步:)


你会发现这是假的;这是因为
this
是处理事件的元素,而
e.target
是事件起源的元素(在上面的示例中,它是跨度)。如果您以前不知道事件是这样工作的,那么它被称为事件冒泡,您可以在我的博客上阅读更多关于它的信息。

事件可以携带数据(例如丢弃的文件)。如果需要参考属于事件的数据,请使用“e”。如果您只需要引用触发事件的元素(即“this”在事件回调中所指的元素),请使用“this”。

事件可以携带数据(例如删除的文件)。如果需要参考属于事件的数据,请使用“e”。如果您只需要引用触发事件的元素(即事件回调中的“this”所指的元素),请使用“this”。

这两个片段之间有一个小的区别:在第一个片段中,元素
hit
不能是
\myThing
元素本身

假设
#myThing
是一个
,您单击了其中的链接:那么当事件到达
#myThing
时,
e.target
引用的元素是链接,而不是段落

相反,在第二个示例中,受颜色变化影响的元素总是
#myThing

因此,如果您将事件与处理程序一起传递,那是因为您可以方便地使用该事件。当您传递它时,您可以将其命名为
e
evt
foobar
:因为您使用的是jQuery,所以您选择的变量名并不相关(但为了简单起见
e
是简短且广泛使用的)

通过该活动的最常见原因通常是

  • 防止事件的默认行为
  • 停止事件的传播
  • -这是您的场景—处理触发事件的原始元素(通常在处理事件委派或文档的实时更新时)
  • 检查一些事件属性(例如
    e.keycode
    on
    keyup/down
    event)
    这两个代码片段之间有一个小区别:在第一个代码片段中,
    hit
    元素不能是
    #myThing
    元素本身

    假设
    #myThing
    是一个
    ,您单击了其中的链接:那么当事件到达
    #myThing
    时,
    e.target
    引用的元素是链接,而不是段落

    相反,在第二个示例中,受颜色变化影响的元素总是
    #myThing

    因此,如果您将事件与处理程序一起传递,那是因为您可以方便地使用该事件。当您传递它时,您可以将其命名为
    e
    evt
    foobar
    :因为您使用的是jQuery,所以您选择的变量名并不相关(但为了简单起见
    e
    是简短且广泛使用的)

    通过该活动的最常见原因通常是

  • 防止事件的默认行为
  • 停止事件的传播
  • -这是您的场景—处理触发事件的原始元素(通常在处理事件委派或文档的实时更新时)
  • 检查一些事件属性(例如
    e.keycode
    on
    keyup/down
    event)
    请参见,在这种情况下
    event.target