JS—事件类型(UI事件)

这里笼统的罗列了js的事件类型。


UI事件-当用户与页面上的元素交互时触发
DOM3级事件-UI事件除了已经被废弃的DOMActivate事件外,其他事件在DOM2级事件中被归为HTML事件。

  • 判定浏览器是否支持该事件类型
    var isSupported=document.implementation.hasFeature('HTMLEvents','2.0');
    alert(isSupported);//true or false
    var isSupported=document.implementation.hasFeature("UIEvent",'3.0');
    alert(isSupported);//true or false
    • load事件

      • 该事件内的event对象并不包含有关这个事件的任何附加信息。
      • 在兼容DOM的浏览器中,存在event.target,IE中不存在srcElement
      • IE8及之前的版本不会生成event对象。IE9修复了这个问题。
      • window-load
        当页面完全加载完毕后,包括所有图像、js文件、css文件等外部资源,就会触发window上面的load事件。
        方法1:通过通用侦听事件函数,为window对象添加load事件
        function handler(){
        alert("页面加载完毕!");
        }
        EventUtil.addHandler(window,'load',handler);
        方法2:通过在body元素上指定load事件。(html指定,0级2级)
        在window上发生的任何事件都可以在body元素中通过相应的特性来指定。
      • image-load
        当图像加载完毕后,就会触发image上面的load事件。
        方法1:html指定。
        方法2:通过通用侦听事件函数,为image对象添加load事件
        function handler(){
        alert("图像加载完毕!");
        }
        var image=document.getElementById("img")
        EventUtil.addHandler(image,'load',handler);
        方法3:为新创建的图像元素添加load事件
        EventUtil.addHandler(window,"load",function(){
        var image=document.createElement('img');
        EventUtil.addHandler(image,'load',function(event){
        event=EventUtil.getEnent(event);
        alert(EventUtil.getTarget(event).src);
        })
        document.body.appendChild(image);
        image.src='../css/xin.jpg';
        });
        【解释1】在window的load事件处理程序内写,是为了确定页面已经加载完毕,页面加载前操作会报错。
        【解释2】在指定src属性之前先指定事件,因为一旦设置了src,不一定被添加到文档,便开始加载图片。
        【解释3】在加载之前添加到文档,因为如果不添加到文档,当图片下载完毕后,也会显示警告框。
      • Link与script-load
        方法同上,但是需要区别的是:
        只有在设置了

你可能感兴趣的:(JS—事件类型(UI事件))