zjp_1475023450 2016-06-04 11:20 采纳率: 100%
浏览 1472
已采纳

JS事件处理程序是怎么调动的?

Var buttons = document.getelementsbytagname (tag name
)
For(var i=0,i<buttons.length;i++){
Buttons[i].onclick=function(e){
Document.getelementbyid(id).innerHTML=e.target.innerHTM}
}
三个问题:1.从for开始,下边的代码怎么解释,逐行解释
2.上面的函数是怎么调用的,不要解释冒泡阶段和捕捉阶段,就说说是e.target。innerHTML触发调动函数还是button[i]触发
3.函数调动之后的结果是啥
4.函数调动之后的结果赋予button.[i].onclick又是啥意思
求详解

  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2016-06-04 11:53
    关注

    注意大小写

         var buttons = document.getElementsByTagName ('tag name')//获取tag name指定的dom对象,返回dom数组
        for (var i = 0; i < buttons.length; i++) {//buttons是数组,执行遍历
            buttons[i].onclick = function (e) {//给遍历到的dom对象添加onclick事件,这样添加的事件只有一个参数就是事件参数,不过要兼容ie8-要使用下面的方法,ie8-的事件存储在window.event对象中,不直接通过函数传递
                e = e || window.event;
                //e.target e.srcElement就是当前点击的对象。如果是buttons对象直接this对象就行了。如<div><b>11</b>22</div>这种结构,点击b,e.target是b,而this对象为当前buttons[i]对象
                document.getElementById(id).innerHTML =//获取id对象设置他的innerHTML
                    (e.target//标准浏览器
                    ||e.srcElement//IE8-
                    ).innerHTML//当前点击对象的innerHTML属性,就是里面的html代码
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决,来真人,不要ai!
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法