问答详情
源自:2-2 JS透明度动画

为什么oDiv.onmouseover后面要把startMove(100)写在一个匿名函数里,而不是直接跟在等号后面?

为什么这样写运行不出来:

oDiv.onmouseover="startMove(100)";
oDiv.onmouseout="startMove(30)";

写在匿名函数里才能运行:

           oDiv.onmouseover=function () {
               startMove(100)
           }
           oDiv.onmouseout=function () {
               startMove(30)
           }

提问者:黑白灰菌 2016-12-15 12:00

个回答

  • 且聴瘋吟
    2016-12-15 17:39:36
    已采纳

    因为如果直接写在等号后面,我们就无法为编写的函数startMove()传递参数(100),也就是这个100是无法传递的,原因是事件处理函数是由系统调用的,系统调用的时候会传入一个事件对象event参数。