这只是一个警告:你的代码仍然有效,但可能不会在今后的工作中使用这个方法,因为它已经过时了。 可以参考这里: relevant source of Chromium 和 corresponding patch.
这个警告已经在 jQuery 1.11 里确认并且修复了。 (可以看 这里 和 这里).
if (!event.preventDefault) {
event.preventDefault = function() {
项目中常会用全选反向checkbox的功能,用jQuery很方便,一般都是如下代码:
/**
* 全选
*/
function checkAll() {
$("input[name=ids]").attr("checked", true);
}
如果要获取一张图片原本的高度和宽度,我们一般这样获取
var url = "../images/logo.png";
var img = new Image();
img.src = http://camnpr.com/logo.png;
img.onload = function(){
//do something.....
}
一段js代码遇到一个bug,由于中间的隐式全局变量造成的,
由于代码较多,通过谷歌浏览器的js调试器才找到问题所在,
话说本人的电脑无论如何都装不上fiefox,从去年开始尝试了多次,均以失败告终,
不过谷歌的调试也挺好用的。
简化代码如下:
现在的web,影响用户访问速度已经不单单是文件下载的速度了,当所有的文件从服务器上下载后,从浏览器开始渲染到用户可以响应的时间,这段时间仍然会消耗很长,同时由于交互的复杂,javascript也变得越来越多,越来越复杂,脚本运行的时间反映在界面上就是响应用户输入点击的过慢,甚至浏览器出现脚本超时的提示。
这篇文件并不打算讲怎么避免这种超时以及javascript的优化技巧,单说各种浏览器的忍耐极限,下面是Nicholas C. Zakas总结的数据
Chrome:执行超过8秒提示。
IE:执行超过500万条Javascript语句时出现提示。
Firefox:执行超过10秒出现提示。
Safari:执行超过5秒出现提示。
昨天遇到一个棘手的问题,在老项目里加些js文件和老项目的编码格式不一致出现乱码。老页面是GB2312,链入的js文件是UTF-8,两个文件都不能转格式。
第一个想法就是将js文件中的中文转换为unicode编码。这种做法是建立在牺牲可读性的条件下的,中文全都变成密码了。
事后想想应该还有更好的方法吧,然后就去百度,方法如下:
在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会出现好多位小数.这是因为在javascript中浮点数的计算是以2进制计算的。
今天遇到一个js上很诡异的事情,测试时测出来的。parseInt(1.13*100),实际返回值是112。直接看代码吧
以下代码在IE8下运行通过,在IE9中出错:
错误提示:exception : SCRIPT5022
当用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的值是以数字开头的,把数