很多api,都是ie6实现,后来其他w3c或其他浏览器支持,或者用类似的方法模拟
onselectionchange 判断选区改变 ,chrome已支持
Element.contains 判断元素是否包含另一个, w3c :compareDocumentPosition
innerHTML 从ie支持到标准
innerText chrome已支持, w3c为textContent
onbeforedeactivate/onactivate 当激活前和失去激活后,配合range的bookmark,保存光标选区 其他浏览器未支持
selection.getBookmark/selection.moveToBookmark 如上,w3c使用的是 selection.addRange
mouseenter/mouseleave 阻止了冒泡版本的mouseover/mouseout, 也将会是从ie专有到标准的事件(firefox已支持)
focusin/focusout 支持冒泡版本的focus lur,其他浏览器在捕获阶段绑定focus/blur来模拟
onselectstart 绑定开始选择。chrome已支持
unselectable 不会聚焦,同时已经focus的元素不会失去焦点。
hidefocus 其他浏览器使用outline,孰好孰差不做对比
禁止选择: ie : onselectstart+unselectable 其他 user-select:none;
onbeforecopy,onbeforecut,onbeforepaste,onbeforeeditfocus、ondrag*、ondrop* 等在特殊场景中,用处很大。
onpropertychange 比oninput好用。可以检测监听更多的行为。
onlosecapture+setCapture/releaseCapture 在处理拖放时候很实用,w3c使用window.blur+window.captureEvents/window.releaseEvents
其他待添加:
ie自己的一套css滤镜,简直就是早期版本的css3,旋转、发光、阴影等,而html5才支持原生的拖放
Element.contains 判断元素是否包含另一个,w3c compareDocumentPosition 判断位置(功能更多)
insertAdjacentHTML/insertAdjacentElement 灵活的插入文档和element,firefox、chrome已支持