我不太了解DOM标准的Event对象

时间:2016-09-02 15:14:20

标签: javascript jquery

现在我正试图通过本书#34; Beginning JavaScript 5th Edition"来学习JavaScript。因为英语不是我的母语,有时很难理解。

现在我对所谓的 DOM标准事件对象有点困惑。

function handleEvent(e) {
  var target = e.target; 
  var type = e.type;


  if (target.tagName == "P") { 
    if (type == "mouseover") {
      target.className = "underline"; } else if (type == "mouseout") {
      target.className = ""; }
 } 
};

e 只是参数的约定,我可以提供我想要的任何名称吗?例如y?

我能否将 .target 视为与 .this 相同?

.target 引用发生事件的元素,对吗?

3 个答案:

答案 0 :(得分:2)

e只是参数的约定,event也是如此。因为e具有所有event个属性。尝试在控制台中输出e,您将看到它拥有的所有值。 (顺便说一下,e只是你在控制台中看到的一个对象。)

handleEvent功能中,只需添加console.log(e)即可查看其中的所有内容。

e.target是调用事件的元素。 e.type是事件类型。如果您将e切换为event,事情可能会变得更加清晰。

答案 1 :(得分:1)

确实只是一个惯例,所以你可以给它任何你想要的名字。 .target是触发事件的de元素,因此它是将事件附加到的元素。

答案 2 :(得分:0)

是。 e是给予事件对象的标准变量名。变量名可以是任何名称。