你的位置:首页 > 软件开发 > Java > JavaScript高级程序设计(第三版)学习笔记13、14章

JavaScript高级程序设计(第三版)学习笔记13、14章

发布时间:2016-03-13 23:00:06
第13章,事件事件冒泡IE的事件叫做事件冒泡:由具体到不具体<!DOCTYPE html><html><head> <title>Event Bubbling Example</title></ ...

JavaScript高级程序设计(第三版)学习笔记13、14章

第13章,事件

事件冒泡

IE的事件叫做事件冒泡:由具体到不具体

DOM0级事件处理程序

传统方式:将函数赋值给事件处理程序属性,原因:1、简单,2、有跨浏览器优势
var btn = document.getElementById("myBtn");btn.attachEvent("onclick",function(){  alert(this.id);});

因为事件处理程序的作用域是根据指定它的方式来确定的,所以不能认为this会始终等于事件目标,为此,最好使用event.serElement比较保险,例:

var btn = document.getElementById("myBtn");btn.onclick = function(){  alert(window.event.srcElement === this);  //true};btn.attachEvent("onclick",function(event){  alert(event.srcElement === this);      //false});
//浏览器是否支持DOM3级事件定义的事件var isSupported = document.implementation.hasFeature("UIEvent","3.0");
var EventUtil = {  //其他代码  getCharCode:function(event){    if(typeof event.charCode == "number"){      return event.charCode;    }else{      return event.keyCode;    }  },  //其他代码}
//检查浏览器是否支持变动事件var isSUpported = document.implementation.hasFeature("MutationEvents","2.0");

第14章,表单脚本

表单基础知识

HTML中由<form>表示,js中则是对应HTMLFormElement类型。继承了HTMLElement,因而与其他的HTML元素具有相同默认值,HTMLFormElement也有自己的属性和方法:
var EventUtil = {  //其他代码  getCliboardText:function(event){    var clipboardData = (event.clipboardData || window.clipboardData);    return clipboardData.getData("text");  },  setCliboardText:function(event,value){    if(event.clipboardData){      return event.clipboardData.setData("text/plain",value);    }else if(window.clipboardData){      return window.clipboardData.setData("text",value);    }  },  //其他代码};

原标题:JavaScript高级程序设计(第三版)学习笔记13、14章

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。