上一页 1 2 3 4 5 6 7 8 9 ··· 22 下一页
摘要: 键盘事件知识点:1、如果用户按键事件足够长,在keyup事件触发之前,会触发多次keydown事件2、通过keyCode(charCode firefox)指定按下的是哪个键,采用unicode编码,全是大写。3、altKey、ctrlKey、metaKey、shiftKey。当按下时为true,否则为false4、3级DOM并没有标准化keyCode,而是定义了新属性key,因此如果考虑后续符合规范,需要同时考虑使用key属性。key和keyCode的区别是,key不是unicode编码,而是直接的字符。 阅读全文
posted @ 2014-02-25 09:08 charling 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: 鼠标事件对象几个重要的属性:clientX 窗口坐标,加上垂直滚动可以得到文档纵坐标clientY 窗口坐标,加上水平滚动可以得到文档横坐标altKey boolean值,点击时是否按下了alt键ctrlKey boolean值,点击时是否按下了ctrl键metaKey boolean值,点击时是否按下了meta键shiftKey boolean值,点击时是否按下了shift键button 点击时按下的是鼠标的哪个键(不同浏览器的赋值不同,不易使用)收录拖动文档元素的js/*** 拖动绝对定位的HTML元素* 该方法依赖之前收集的getScrollOffset方法*/function drag 阅读全文
posted @ 2014-02-21 09:08 charling 阅读(3434) 评论(0) 推荐(0) 编辑
摘要: onload触发时机:文档和所有的图片都加载完毕DOMContentLoaded触发时机:文档加载并解析完毕,所有deferred脚本执行完毕。但此时图片和async脚本可能依旧在加载。readystatechange触发时机: document.readyState属性包含多个状态,当值为“complete”时表明文档加载并执行完毕。将事件绑定到DOMReady上的方法封装: var whenReady = ( function(){ var funcs = []; var ready = false; function handler( e ){ ... 阅读全文
posted @ 2014-02-20 09:18 charling 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: add 代表addEventListener, att代表attachEvent(IE8-)1、add接受三个参数,att接受两个参数(根本原因是IE不支持事件捕获)2、add的第一个参数(事件类型),不需要前缀"on",att需要3、add不支持相同的事件处理程序注册多次,不管注册几次,都只执行一次。att支持同一个事件处理程序绑定并执行多次4、add的事件对象(event)通过参数传给事件处理程序,att需要到window.event中获取5、add的this指向事件目标,att的this指向全局window 阅读全文
posted @ 2014-02-19 09:10 charling 阅读(429) 评论(0) 推荐(1) 编辑
摘要: 1、表单事件:submit事件reset事件click事件change事件focus事件(不冒泡) (IE和ES5支持冒泡的focusin)blur事件(不冒泡) (IE和ES5支持冒泡的focusout)input事件(ES5 textinput提供更方便的获取输入文字的方案)2、Window事件load事件DOMContentLoaded事件readyStatechage事件unload事件 beforeunload事件resize事件scroll事件3、鼠标事件click事件dbclick事件mouseover事件(冒泡)mouseout事件(冒泡)mousedown事件mouseup事 阅读全文
posted @ 2014-02-17 20:52 charling 阅读(7234) 评论(0) 推荐(1) 编辑
摘要: 阅读了《javascript权威指南》P396-P409。一、表单和表单元素的选取1、选取表单(包含name=“address”属性的form表单) document.querySelectorAll( form[name="address"] ) // ES5标准接口。低版本浏览器未实现 window.address // 不可靠,不要使用 document.address document.forms.address // 常用 document.form[n] // n为表单的序号。不实用2、选取表单的元素(上述表单的第一个元素,有name=“street”属性) d 阅读全文
posted @ 2014-02-13 19:55 charling 阅读(1440) 评论(0) 推荐(0) 编辑
摘要: 判断元素尺寸和位置的方法:elem.getBoundingClientRect() // 已验证IE7+、firefox、chrome均支持此方法该方法返回一个对象(坐标值为视口坐标,不是文档坐标):{ left : 16,(左上角X轴坐标) // IE7返回值有差异 right : 16,(右下角X轴坐标)// IE7返回值有差异 top : 16,(左上角Y轴坐标)// IE7返回值有差异 bottom : 16,(右下角Y轴坐标)// IE7返回值有差异 width : 16,(元素宽度) // IE8及其以下版本无此属性 height : 16(元素高度)// IE8及其以... 阅读全文
posted @ 2014-02-12 20:28 charling 阅读(1144) 评论(0) 推荐(0) 编辑
摘要: 各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题/*** 获取浏览器视口的大小(显示文档的部分)* */function getViewPortSize(){ // 除IE8及更早的版本以外的浏览器 if( window.innerWidth != null ){ return { w : window.innerWidth, h : window.innerHeight } } // 标准模式下的IE if( document.compatMode == "css1Compat" ){ return { w : docume 阅读全文
posted @ 2014-02-12 09:13 charling 阅读(4756) 评论(0) 推荐(0) 编辑
摘要: insertAdjacentHTML是IE浏览器提供向DOM中插入html字符串的方法,字符串会自动生成在DOM树中。其调用方式为elem.insertAdjacentHTML( position, htmlStr )elem 向哪个DOM的标签出插入字符串position 有四个选项 "beforeBegin" "afterEnd" "afterBegin" "beforeEnd"分别指在elem的开始标签之前、结束标签之后、开始标签之后、结束标签之前插入htmlStrhtmlStr 字符串(不是DOM元素)以下 阅读全文
posted @ 2014-02-11 09:29 charling 阅读(6983) 评论(0) 推荐(2) 编辑
摘要: 客户端js的时间线:1、web浏览器创建Document对象,开始解析html和文本、生成Element对象和Text节点添加到文档中。这个阶段的document.readystate=="loading"2、当遇到没有async和defer的script标签时,停止文档的解析,开始请求并执行js3、当遇到有async或defer时,会先下载js,但不执行,等到文档解析完毕之后才执行4、当文档解析完成时,document.readyState=="interactive"5、开始执行defer或async的脚本6、浏览器在Document对象上触发DOM 阅读全文
posted @ 2014-01-22 20:48 charling 阅读(839) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 22 下一页