文档章节

最佳时间 (DOM编程艺术)

NathanChen123
 NathanChen123
发布于 2016/11/13 10:11
字数 271
阅读 12
收藏 0

1. 平稳退化:确保浏览器在没有开启JS的时候也能正常工作

2. 分离JS:把网页的结构和内容与JS的脚本行为分离

3. 向后兼容性:确保老版本老版本浏览器的使用

4. 性能考虑

JavaScript伪协议:

<a href="javascript:pop('http://www.example.com');">example</a>

在支持伪协议的浏览器能正常运行,老版本浏览器可能不行,

同样内嵌事件处理函数的方法也不可取,有时为了触发事件,我们会将onclick等事件触发函数写在HTML中,这样不能做到网页的结构内容与JS脚本分离

通过CSS样式和结构分离的做法,JS也如下修改

<script type="text/JavaScript">
window.onload = function() {
  if (!document.getElementsByTagName) return false;
  var lnks = document.getElementsByTagName("a");
  for (var i=0; i<lnks.length; i++) {
    if (lnks[i].getAttribute("class") == "popup") {
      lnks[i].onclick = function() {
        popUp(this.getAttribute("href"));
        return false;
      }
    }
  }
}

function popUp(winURL) {
  window.open(winURL,"popup","width=320,height=480");
}

</script>
</head>
<body>
<a href="http://www.baidu.com/" class="popup">Example</a>
</body>

通过标签中属性的查询,与js行为连接

© 著作权归作者所有

NathanChen123
粉丝 0
博文 9
码字总数 2130
作品 0
武汉
私信 提问
如何学习Javascript?你是入门,还是精通?

首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门。   谈不上经验,都是一些教训。   这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。...

coffeescript
2014/07/23
525
0
前端如何快速混进bat?(二)

最近,老婆,房子,工作。 说实话,忙的头皮发麻,让兄弟们久等了。 废话不多说,咱直入 主题。 说实话,bat的头是真的很铁,以腾讯为首。 我深深的记得当年与腾讯面试官这样的一段的对话。 ...

熊师傅
2017/11/08
0
0
新手自学前端学到现在,感觉现在学到的知识越来越少,进步缓慢,学习遇到瓶颈怎么办?

我是自学的前端,学过html+css,一些布局方法我也会。用JS和JQ做一些DOM操作,制作一些鼠标导航特效和简单的动画效果。用sublime+emmet+firebug写页面和调试。代码规范和性能优化也懂一些。用...

咕噜噜kkk
2016/07/07
7.4K
14
循序渐进DIY一个react(一)

前言 假设我大学本科毕业论文的课题是[依据react现有的思想DIY一个react],我会怎么实现呢?作为一个react老用户的我,我常常有这样的疑问。那好,现在,我就在这根据现有的react概念和思想...

鲨叔
02/21
0
0
前端学习之路(从入门到入坑...)

学习前端两年多了,拿了阿里巴巴实现offer,想结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考...

阿小庆
2018/06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt程序打包发布方法(使用官方提供的windeployqt工具)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/toTheUnknown/article/details/81748179 如果使用到了Qt ...

shzwork
30分钟前
4
0
MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
50分钟前
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
今天
6
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
今天
7
0
Flask-admin Model View字段介绍

Model View字段介绍 can_create = True 是否可以创建can_edit = True 是否可以编辑can_delete = True 是否可以删除list_template = 'admin/model/list.html' 修改显......

dillonxiao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部