六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 29|回复: 0

所遇到的前端问题收集(持续更新中.....)

[复制链接]

升级  74%

49

主题

49

主题

49

主题

秀才

Rank: 2

积分
161
 楼主| 发表于 2012-12-22 21:12:56 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">还请朋友们把自身在实际开发中所遇到的问题和解决方案留言下来,供大家以后再遇见时,能及时的解决。我会持续的更新这个文档。

一:在IE6 IE7中应用了iframe,再点击了某些链接时,会出现,把头部的内容去掉的原因。
  这里因为是锚点的原因才产生这样的情况,解决办法是,把href的#去掉,写上javascript:void(0)。
二:在使用了window.open()方法之后,如何把原窗口的对象继承到新窗口上。
  在新窗口中使用window.opener。
三:在IE6中CSS盒模型,会在浮动时,相应的内外边距会增加3像素。
  使用display:inline;
四:如何把iframe背景色变透明。
  allowtransparency=true并且在iframe页面的body中加上style="background-color:transparent"。
五:比如我们在添加一些功能时,如给表格能自定义边框大小,颜色,类型,或者一些自定义的东西,再遇到与IE兼容的问题时,可以如此解决。
  使用正则表达式,来处理这些问题,能及时的解决与IE6 IE7 IE8的兼容问题,比如在表格自定义的边框类型中border,IE几个系列的表示方式都不一样,这里解决起来就很麻烦,但是用正则表达式,就很快。
六:如何在前端实现记忆功能。
  比如我们在翻页时,很多数据都是从服务交互过来的,翻页一次重新加载一次dom结构,那么在checkbox上如何做到前一页勾选之后,再后一页翻页回来依然勾选着呢?这里就是前端的一个记忆功能,解决方案可以从json这样的格式来着手。我们知道在javascript中的数组,可以装object类型,那么每一次勾选就push一次,把json对象push进数组,通过一个比对方法,类似在JQuery中的$.isArray()方法来比对,不重复push。这样,我们就可以做到了记忆功能了。
七:在使用jqgrid时,google游览器的表格展示会出现莫名的滚动条。
  解决的方法是把ui.jqgrid.css文件中table的table-layout属性去掉,未知原因,这个属性不知道怎么会让google游览器产生滚动条。
八:有时候在调服务的时候,会出现回调函数没有data。
  其实callback的时候,就应该有从服务端返回的data,一组json对象或者一组处理完成的数据,这里可能是阻塞了,需要好好检查检查。
九:JQuery的问题,比如$('#bill').find('#'+billname+billID);在id为bill的节点中查找,但返回的却是一个空的数组。
  这里的原因,我测试了很多次,最后分析找到的因素应该是billname这个参数,因为billname是一个中文字符串。后来又翻了下文档,上面说使用find时,不支持中文的,JQuery。
十:区分绑定事情与触发事件的实现,可以增强应用的用户体验。
  比如一个例子,在我们搜索或者某些查询按钮中,除了提供click事件之外,还要提供keyup事件,也就回车事件。 这里的逻辑有些像委派,其实还是蛮有意思的,比如,下面这个源码,用JQuery来操作。
  
<div class="cnblogs_code">var query = function () {            alert('a');}var openKey = function (JQueryObject) {            $(document).keyup(function (event) {                if (event.keyCode == '13') {                    JQueryObject.click();                }            });}$(function () {            $('#querys').bind('click', query);            openKey($('#querys'));});
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表