事件对象——兼容处理
1 2 3 4 5 6 7 8
|
function getEvent(e) { return e || window.event; }
|
获取事件所对应的目标——兼容处理
1 2 3 4 5 6 7 8
|
function getTargetByEvent(e) { return e.target || window.event.srcElement; }
|
添加事件——兼容处理
1 2 3 4 5 6 7 8
|
function addEventHandler(element, eventName, handler) { document.addEventListener ? element.addEventListener(eventName, handler, flase) : element.attachEvent('on' + eventName, handler); }
|
阻止默认事件——兼容处理
1 2 3 4 5 6 7 8
|
function stopDefaultEvent(e) { e.preventDefault ? e.preventDefault() : (window.event.returnValue = false); }
|
阻止冒泡事件——兼容处理
1 2 3 4 5 6 7
|
function stopBubbleEvent(e) { e.stopPropagation ? e.stopPropagation() : (window.event.cancelBubble = true); }
|
以上为一些事件对象所涉及到的兼容处理。
其实JS的兼容处理比较简单,无非就是判断浏览器是否有此方法(对象),如果有的话,就直接调用(获取),否则使用另外的方法。
最后更新时间:
这里可以写作者留言,标签和 hexo 中所有变量及辅助函数等均可调用,示例:
https://blog.afacat.com/2014/08/11/DOM2级事件兼容/