我很好奇,为什么要加载此事件而不是在click上触发自身。

window.onload=initAll;

function initAll(){
  var divPath = document.getElementsByTagName("div")[0];
  var theLink = divPath.getElementsByTagName("a")[0];
  theLink.onclick = myEvent(theLink);
};

function myEvent (myMan){
  myMan.innerHTML="You're my maan,bro!!!";
  return false;
};


10倍为您提供的帮助
BR

最佳答案

因为您是将函数调用myEventHandler(theLink)的结果分配给theLink.onclick属性。您实际要执行的操作如下:

theLink.onclick = myEventHandler


它为theLink.onclick属性的myEventHandler函数分配一个reference。传递给该函数的参数将是event object,从中可以确定实际单击了哪个对象。另外,您可以创建closure

theLink.onclick = function(event) {
    myEventHandler(event, theLink);
};


这样,您将获得事件对象和对分配了事件处理程序的对象的引用,这就是您试图在代码中进行的操作(我想是这样)。

10-08 15:45