最近的文章列表

jQuery event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

这只是一个警告:你的代码仍然有效,但可能不会在今后的工作中使用这个方法,因为它已经过时了。 可以参考这里: relevant source of Chromium 和 corresponding patch.

这个警告已经在 jQuery 1.11 里确认并且修复了。 (可以看 这里 和 这里).

可以做一个兼容处理,如下代码:
if (!event.preventDefault) {
event.preventDefault = function() {
2015/7/18 Comments:
jQuery input checkbox全选反向 反复调用attr('checked', true/false) 只有第一次生效

项目中常会用全选反向checkbox的功能,用jQuery很方便,一般都是如下代码:

   /**
* 全选
*/
function checkAll() {
$("input[name=ids]").attr("checked", true);
}
2014/7/11 Comments:
IE8、firfox关于(new Image()).onload的不执行的问题

如果要获取一张图片原本的高度和宽度,我们一般这样获取

var url = "../images/logo.png";
var img = new Image();
img.src = http://camnpr.com/logo.png;
img.onload = function(){
  //do something.....
}
2014/7/11 Comments:
解决js隐式全局变量造成的bug示例代码

一段js代码遇到一个bug,由于中间的隐式全局变量造成的,
由于代码较多,通过谷歌浏览器的js调试器才找到问题所在,
话说本人的电脑无论如何都装不上fiefox,从去年开始尝试了多次,均以失败告终,
不过谷歌的调试也挺好用的。
简化代码如下:

代码如下:

$(function(){
var pageNo = 2;//这个参数是变化的
var pageSize = 10;
test();
paginate(pageNo,
2014/6/11 Comments:
“脚本运行时间过长” 常见浏览器多长时间会提示这个的总结

现在的web,影响用户访问速度已经不单单是文件下载的速度了,当所有的文件从服务器上下载后,从浏览器开始渲染到用户可以响应的时间,这段时间仍然会消耗很长,同时由于交互的复杂,javascript也变得越来越多,越来越复杂,脚本运行的时间反映在界面上就是响应用户输入点击的过慢,甚至浏览器出现脚本超时的提示。

这篇文件并不打算讲怎么避免这种超时以及javascript的优化技巧,单说各种浏览器的忍耐极限,下面是Nicholas C. Zakas总结的数据

Chrome:执行超过8秒提示。
IE:执行超过500万条Javascript语句时出现提示。
Firefox:执行超过10秒出现提示。
Safari:执行超过5秒出现提示。

2014/6/6 Comments:
页面javascript遇到乱码问题和无法转码的解决方法

昨天遇到一个棘手的问题,在老项目里加些js文件和老项目的编码格式不一致出现乱码。老页面是GB2312,链入的js文件是UTF-8,两个文件都不能转格式。

第一个想法就是将js文件中的中文转换为unicode编码。这种做法是建立在牺牲可读性的条件下的,中文全都变成密码了。

事后想想应该还有更好的方法吧,然后就去百度,方法如下:

代码如下:
2014/6/3 Comments:
解决javascript中加减乘除丢失精度问题的方法

在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会出现好多位小数.这是因为在javascript中浮点数的计算是以2进制计算的。

代码如下:

/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*/
2014/5/30 Comments:
Javascript 函数parseInt()转换时出现bug问题:parseInt(1.13*100),返回值是112

今天遇到一个js上很诡异的事情,测试时测出来的。parseInt(1.13*100),实际返回值是112。直接看代码吧

代码如下:

<head>
<script type="text/javascript">
function test(){
var thisvalue = 0;
thisvalue=yuanToFen($("#inp").val());

alert(thisvalue);
}
/*元
2014/5/30 Comments:
js中动态生成iframe方法并兼容主流浏览器

以下代码在IE8下运行通过,在IE9中出错:

代码如下:

document.createElement('<iframe id="yige-org-iframe" src="yige.org.logo.gif" style="position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;"></iframe>');


错误提示:exception : SCRIPT5022

2014/5/13 Comments:
IE8下关于querySelectorAll()的问题 错误: 参数无效 Error: uncaught exception

当用querySelector()或querySelectorAll()查找类似name="2nd_btn"的元素时,FF,chrome和IE8都会报错。
FF,chrome报的错是一样的,如下所示:
Error: uncaught exception: [Exception... "An invalid or illegal string was specified" code: "12" nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)" location: ".../test/qsa.html Line: 18"]
IE8的报错提示:行: 18 错误: 参数无效。
一寻思,name的值是以数字开头的,把数

2014/5/4 Comments: