博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
错误与技巧笔记
阅读量:5923 次
发布时间:2019-06-19

本文共 2874 字,大约阅读时间需要 9 分钟。

编程的时候,往往最可怕的,都是那些不起眼的小错误。

(1)button的类型问题

往往我们用了button标签就认为它是个按钮了,但它的type默认并不是button,在firefox和chrome下,button的type的缺省值为submit,详细见这里:http://blog.moocss.com/code-snippets/html-css-code-snippets/1408.html

代码:

1 
2
3

以上代码,点击button页面会跳转到百度首页,正确的代码应该如下(显式地申明button的类型):

1 
2
3

 (2)让DIV自适应子元素内容

如果子元素没有任何停靠,父元素不要设置高度就可以了。

例如:

1  2  3      4 11 12 13 
14
15
16
17

content

18

content

19

content

20
21 22

当然更多的情况没这么理想。

解决方法,这个方法的可贵之处在于不管父容器是否悬浮都能起作用,如果父容器已经悬浮,则可以去掉overflow和height属性

1  2   3       4  19  20  21  
22
23
24
25
26

content

27

content

28

content

29
30
31 32

 其他方法可见地址:http://news.2ky.cn/14/3110.htm

一下为引用内容,防止地址失效:

Div即父容器不根据内容自适应高度,我们看下面的代码:以下是代码片段:
当Content内容多时,即使main设置了高度100%或auto。在不同浏览器下还是不能完好的自动伸展。内容的高度比较高了,但容器main的高度还是不能撑开。  我们可以通过三种方法来解决这个问题。 一,增加一个清除浮动,让父容器知道高度。请注意,清除浮动的容器中有一个空格。 以下是代码片段:
二,增加一个容器,在代码中存在,但在视觉中不可见。 以下是代码片段:
三,增加一个BR并设置样式为clear:both。 以下是代码片段:

Div即父容器不根据内容自适应高度,我们看下面的代码:投稿来源于:http://news.2ky.cn,转载需注明。

 (3)PHP默认编码

在php.ini文件中添加default_charset = "UTF-8",设置PHP默认编码,然后重启apache。

(4)设置textarea中光标的位置

首先要使textarea获得焦点和光标,由于jquery的focus方法只是让对象获得焦点,要用DOM的focus方法才能让textarea获得光标。

document.getElementById('text').focus();

然后是设置光标的位置(textarea内已经有内容),函数如下:

1 function setSelect(element,begin, end) 2 { 3     if (document.body.createTextRange) 4     { 5         var range = document.body.createTextRange(); 6         var text = element[element.tagName=='DIV'?'innerText':'value']; 7         var line1 = text.substring(0, begin).split('/n').length - 1;   8         var line2 = text.substring(end, text.length).split('/n').length - 1;    9         range.moveToElementText(element)10         range.moveEnd('character',parseInt(end) - element[element.tagName=='DIV'?'innerText':'value'].length + line2); 11         range.moveStart('character',parseInt(begin) - line1); 12         range.select();13     }14     else if(element.setSelectionRange)15     {        16         element.setSelectionRange(begin,end);17     }18 }

以上代码地址:http://blog.csdn.net/reedseutozte/article/details/5761684

最后还是存在一个问题,就是如果当前这个textarea还没有显示出来,我们就执行了以上动作,那就报错:Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLTextAreaElement.setSelectionRange],所以一定要注意代码的顺序。

(5)JSP中request乱码

1 String id=new String(request.getParameter("id").getBytes("ISO8859-1"),"UTF-8");2 String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");

原文地址:

(6)文本框触发change,blur的顺序

change-->blur-->submit

原文地址:

转载于:https://www.cnblogs.com/findingsea/archive/2013/03/22/2975689.html

你可能感兴趣的文章
HTTP/2推送之难,远超想象
查看>>
杠上Spark、Flink?Kafka为何转型流数据平台
查看>>
百度云BaaS体系揭秘,突破共识机制、单机计算和串行处理三大瓶颈
查看>>
IBM借QISKit打造基于云平台的量子计算
查看>>
GitLab可完全管理Google Kubernetes Engine
查看>>
测一测你的算法阶段学习成果
查看>>
QCon北京2015:永不止步的前端专题前瞻
查看>>
IntelliJ IDEA 2017.2发布:更智能,更利落,更快速
查看>>
Go 1.12发布:改进了运行时性能以及模块支持
查看>>
聊聊这一年从技术麻瓜开始的奋斗史
查看>>
微软发布Linux上运行的Azure App Service并支持基于容器的Web App
查看>>
如何定义研发KPI:以团队速度为标准
查看>>
畅谈云原生(下):云原生的飞轮理论
查看>>
Rust 1.30带来更多元编程支持,并改进了模块系统
查看>>
VS2017 15.8第二个预览版本提升了对CPU Profiling和F#的支持
查看>>
HTML5 canvas专栏
查看>>
Servlet与JSP学习笔记(四) JSP核心(上)
查看>>
Python 探测图片文件类型
查看>>
一起来实现es5中新增的数组方法
查看>>
JS原生一步步实现前端路由和单页面应用
查看>>