浏览 8380 次
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-30
最后修改:2010-04-01
目录 (一)有关框架 (二)文件组织与代码组织 (三)JS与FLASH交互 (四)ajax局部刷新与RPC (五)获取设置元素样式与监听元素事件 (六)页面元素的创建调整与关联 (七)浏览器兼容性问题 (八)WEB软件的前端架构实践 获取与设置element的样式 一、class or style 某些情况下只能设置style属性: 1、属性值是一个变量,如动态设置宽高。 2、为了兼容某些浏览器 其他情况下,尽量用class,理由有:
二、doc声明与浏览器兼容性 HTML文档头部的DOC声明与不同版本的浏览器都有可能影响到你获取或者设置的样式,对于这个问题,我非常烦恼,我的策略是GOOGLE别人的做法,然后一遍遍的测试。 三、 UI widget中的做法 在UI widget的代码里面设置和获取元素样式,有两种做法,一种是每次从元素style属性上获当前值,然后设置。第二种是,由widget对象自己维护一个变量,变化此变量时同时变化元素样式。我倾向于第二种,理由如下
绑定函数到element事件的几种方式 这里讨论的是没有被封装成对象的页面元素的绑定,除非指明了是UI widget 一、绑定行为和响应函数都在页面上 这是嵌入脚本满天飞时的做法,还经常有重复定义响应函数的行为,A TAB有一个save函数,过一会用户点击了B TAB,又有一个新的save出现,虽然也能用,但要面对这种状态,很无语。 二、把绑定行为和响应函数都在外部脚本中 这是我改过头了的做法,我把响应函数根据业务逻辑放到不同类里面,然后把绑定也一个也不留的全部放到页面载入后或者AJAX的回调里面,但页面状态是变化的,要弄清楚当前处于什么状态,然后决定要绑哪些元素。结果是在绑定这件事情上一团乱麻。 三、根据不同场景来决定如何绑定 这是目前的做法,感觉还可以。做法如下: 1、在JS方法里面绑定的情况 如果它是在页面中是比较独立的一块(从结构和内容上看),比如sidebar,那么把它的逻辑独立存放于一个独立脚本的类里面,绑定行为放在初始化方法里面。在页面载入或Ajax载入完后调用初始化方法。 如果它是一个全站都要用到的UI WIDGET,比如TAB、textarea的输入提示,那么给容器一个class,在全站layout的初始化代码中和每个ajax载入页面的回调里查询到这些元素,然后调用相关的UI widget类初始化绑定和行为。目前感觉在每个ajax 回调里都要做查询绑定比较麻烦,考虑试试jQuery全局ajax设定来做这件事。 如果它是在特定页面要用到的UI WIDGET,在特定页面的初始化方法里面初始化这个UI widget。 2、在元素事件属性上绑定的情况 如果这一个局部要绑定到的行为很多,而且它可能经常刷新,此时如果每次都查询这些元素进行绑定,也比较费时费力,所以直接把绑定写在元素事件属性上。 如果绑定到元素事件响应函数的逻辑比较简单,只是一个行为,比如隐藏元素。或者顺序执行的两个行为,比如清空表单元素内容,并且重新focus。这些情况下,我是直接把JS代码写在事件属性上。但这里有一个前提是,这些代码很短,不影响到维护与阅读。 非同于上面的情况,且响应函数逻辑有点复杂,此时把响应函数写在相关业务的类里面,然后绑定还是写在事件属性上。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-31
等着看最后一章。
|
|
返回顶楼 | |
发表时间:2010-04-02
currentStyle(IE) 和 defaultView(FF)
可以取得指定元素的style属性与css文件中定义的全部样式 |
|
返回顶楼 | |
发表时间:2010-04-06
绑定函数到element事件的几种方式
应该还有另外一种方法,即使用js 直接产生节点并绑定事件,然后再附加到文档中,不一定是要获取html再使用selector来绑定,这样的效率上会高一些。 |
|
返回顶楼 | |