JavaScript中的Onmousedown不工作--帮助!

JavaScript中的Onmousedown不工作--帮助!,javascript,for-loop,event-handling,onmousedown,Javascript,For Loop,Event Handling,Onmousedown,下面的函数应该在我的网页的“onload”事件期间执行 function setUpTranslation() { var phrases = document.getElementsByTagName("p"); for (i = 0; i<phrases.length; i++) { phrases[i].number = i; phrases[i].childNodes[1].innerHTML = french[i]; phras

下面的函数应该在我的网页的“onload”事件期间执行

function setUpTranslation() {
   var phrases = document.getElementsByTagName("p");

   for (i = 0; i<phrases.length; i++) {
      phrases[i].number = i;
      phrases[i].childNodes[1].innerHTML = french[i];

      phrases[i].childNodes[1].onMouseDown = alert("Hello World");
  }
}
函数设置翻译(){
var短语=document.getElementsByTagName(“p”);

对于(i=0;i这是因为您正在调用它。您需要创建一个函数,在调用它时调用alert

  phrases[i].childNodes[1].onMouseDown = function() {alert("Hello World");};

这是因为您正在调用它。您需要创建一个函数,在调用它时调用alert

  phrases[i].childNodes[1].onMouseDown = function() {alert("Hello World");};
应该是

phrases[i].childNodes[1].onMouseDown = function( ){ alert("Hello World"); };
否则它将返回
alert
的值作为处理程序(未定义
且不执行任何操作)

应该是

phrases[i].childNodes[1].onMouseDown = function( ){ alert("Hello World"); };

否则,它将返回
警报的值作为处理程序(未定义
且不执行任何操作)。

您正在将onMouseDown事件设置为警报结果(“Hello World”),而不是函数。将其更改为类似以下内容,以使其在您打算运行之前不运行:

phrases[i].childNodes[1].onMouseDown = function() { alert("Hello World"); };

这将生成一个以警报作为函数体的函数,并将该函数设置为onMouseDown事件的回调。

您将onMouseDown事件设置为警报的结果(“Hello World”),而不是函数。将其更改为类似以下内容,以使其在打算运行之前不运行:

phrases[i].childNodes[1].onMouseDown = function() { alert("Hello World"); };
这将生成一个以警报作为函数体的函数,并将该函数设置为onMouseDown事件的回调