我为什么要通过这封信';e';进入这个jQuery函数?
我知道E是event的缩写,但我仍然不清楚为什么我需要使用它?我试着通过函数传递其他字母,但它似乎不起作用。是否有其他情况需要将特定字母传递到函数中我为什么要通过这封信';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'); });
$("#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
onkeyup/down
event)李>
这两个代码片段之间有一个小区别:在第一个代码片段中,
hit
元素不能是#myThing
元素本身
假设#myThing
是一个
,您单击了其中的链接:那么当事件到达#myThing
时,e.target
引用的元素是链接,而不是段落
相反,在第二个示例中,受颜色变化影响的元素总是#myThing
因此,如果您将事件与处理程序一起传递,那是因为您可以方便地使用该事件。当您传递它时,您可以将其命名为e
或evt
或foobar
:因为您使用的是jQuery,所以您选择的变量名并不相关(但为了简单起见e
是简短且广泛使用的)
通过该活动的最常见原因通常是
e.keycode
onkeyup/down
event)李>
请参见,在这种情况下
event.target
和