所遇到的前端问题收集(持续更新中.....)
<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'));});
页:
[1]