文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

javascript中常见的兼容写法

2024-04-02 19:55

关注

这篇文章主要讲解了“javascript中常见的兼容写法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中常见的兼容写法”吧!

1 .获取后一个兄弟节点的兼容写法

 var nextElement=oLi3.nextElementSibling||oLi3.nextSibling;

2. 获取前一个兄弟节点兼容写法

 var previousElement = oLi3.previousElementSibling || oLi3.previousSibling;

3. childNodes的兼容使用

 function getChildNodes(ele) {

 //1.定义一个空的数组

 var arr = [];

 //2.获取指定元素

 var oEle = document.querySelector(ele);

 //3.将元素下边的所有儿子拿到

 for (var i = 0; i < oEle.childNodes.length; i++) {

 //4.变量判断真的儿子(元素节点nodeType==1)

 if (oEle.childNodes[i].nodeType == 1) {

 //5.将真儿子添加到数组里

                arr.push(oEle.childNodes[i])

 }

 }

 //6.返回数组

 return arr;

 }

4.拿到第一个儿子

 var No1 = oBox.firstElementChild || oBox.firstChild;

5.拿到最后 个儿子

 var oLast = oBox.lastElementChild || oBox.lastChild;

6.事件目标对象兼容

 var t = event.target || event.srcElement;

滚动条的兼容写法

一 简单兼容写法

    document.documentElement.scrollTop||document.body.scrollTop

二 高级兼容写法

 function myScroll() {

 //  ie9以上, google,火狐都能用

 if (window.pageXOffset != undefined) {

 return {

 "left": window.pageXOffset,

 "top": window.pageYOffset

 }

 } else if (document.compatMode == "CSS1Compat") {

 // 标准 DTD (有声明头)

 return {

 "left": document.documentElement.scrollLeft,

 "top": document.documentElement.scrollTop

 }

 }

 // 非标准 没有 DTD (没有声明头)

 return {

 "left": document.body.scrollLeft,

 "top": document.body.scrollTop

 }

 }

html5的新标签在 ie 6 7 8 下有兼容问题,解决原理是 动态创建标签 document.createElement,我可以是快速使用html5shiv插件

事件对象的兼容写法

 var e=evt||window.event;

键盘事件

 var keyCode = e.keyCode || e.which;

获取样式的兼容写法

 function getStyle(obj, attr) {

 // 非ie,google,火狐

 if (window.getComputedStyle) {

 return window.getComputedStyle(obj, null)[attr];

 }

 //ie 6 8 9

 return obj.currentStyle[attr];

 }

阻止冒泡的兼容

 if (e.stopPropagation) {

        e.stopPropagation();

 } else {

        e.cancelBubble = true;

 }

阻止默认行为

 if (e.preventDefault) {

        e.preventDefault()

 } else {

        e.returnValue = false;

 }

事件监听的兼容写法

    oBtn.addEventListener("click", function () {

 alert("长沙千锋老罗最帅");

 }, {

        once: true, // 只能被点一次

        useCapture: true // true||false

 })

 //obj 给指定的元素添加事件

 //type 事件的类型(click,mouseenter..)

 //fn 函数名称

 //useCapTure 捕获还是冒泡

 function addEvent(obj, type, fn, useCapTure) {

 if (obj.addEventListener) {

            obj.addEventListener(type, fn, useCapTure)

 } else {

            obj.attachEvent("on" + type, fn)

 }

 }

事件监听移除兼容写法

 function removeEvent(obj, type, fn, useCapTure) {

 if (obj.removeEventListener) {

            obj.removeEventListener(type, fn, useCapTure);

 } else {

            obj.detachEvent("on" + type, fn);

 }

 }

感谢各位的阅读,以上就是“javascript中常见的兼容写法”的内容了,经过本文的学习后,相信大家对javascript中常见的兼容写法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯