摘要: 现象IE这货果然与众不同,当光标焦点在input时,点击同页面内其他区域的scrollbar,会导致焦点移动到body,从而触发绑定在input上的blur事件,如果input中的值与之前不同,甚至还会触发change事件...Chrome曾经也有类似的问题,但在最新版中已经修正了,而Firefox则完全没有这样的问题。影响这个问题看起来微不足道,实际上影响还是非常大的,主要表现在下面2个方面多数的suggest控件会出错suggest往往是通过input(输入部分)和div(下拉框部分)组成。有时,下拉框内容过多,用户需要移动滚动条才能看全选项,但因为点击滚动条会... 阅读全文
posted @ 2013-06-18 00:14 BetaRabbit 阅读(1184) 评论(0) 推荐(0) 编辑
摘要: _.each遍历集合,对集合中的每个元素执行回调。APILo-Dash_.forEach(collection [, callback=identity, thisArg])AliaseseachArgumentscollection (Array|Object|String): 要遍历的集合[callback=identity] (Function): 每次迭代中调用的函数[thisArg] (任意): 绑定到callback的thiscallback接受三个参数: (value, index|key, collection)Returns(Array, Obje... 阅读全文
posted @ 2013-05-31 00:43 BetaRabbit 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: Javascript主要有以下几种位操作符: AND ( & ) OR ( | ) XOR ( ^ ) NOT ( ~ ) LEFT SHIFT ( << ) RIGHT SHIFT ( >> ) ZERO-FILL RIGHT SHIFT ( >>> )一般来说,我们在Javascript中很少能用到这些位操作符,但在某些特殊情况下,这些简单的操作符却能抵得上好几行代码(如果不在乎可读性的话)。 -(n+1) 对一个数进行~运算,等同于-(n+1)~1 === -2 // => trueNote: 这只能应用于整数部分,~1.1 === 阅读全文
posted @ 2013-04-29 23:47 BetaRabbit 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用||符号连接多个===完成,比如: if (string === 'banana' || string === 'pineapple') { fruitColor = 'yellow';}这样能够很好的完成需求,但总觉得有点笨,并且对扩展不友好,当我们的水果种类变多时:if (string === 'banana' || string === 'pineapple' || string === 'mongo' || st 阅读全文
posted @ 2013-04-20 22:34 BetaRabbit 阅读(1116) 评论(6) 推荐(0) 编辑
摘要: Throttle 无视一定时间内所有的调用,适合在发生频度比较高的,处理比较重的时候使用。 var throttle = function (func, threshold, alt) { var last = Date.now(); threshold = threshold || 100; return function () { var now = Dat... 阅读全文
posted @ 2013-03-19 00:23 BetaRabbit 阅读(359) 评论(2) 推荐(0) 编辑
摘要: 今天在使用innerText时遇到一个兼容性问题,FireFox不支持innerText方法,查了下MDN,发现FireFox下有个类似的方法,叫textContent,它和IE的innerText类似, 都是用来获取(设置)元素中text的方法。 语法 设置 element.textContent = “text”; 获取 var text = element.textContent; Note: textContent和innerText类似,也会同时获取子元素的text content,比如 ... 阅读全文
posted @ 2013-02-26 20:11 BetaRabbit 阅读(1337) 评论(4) 推荐(1) 编辑
摘要: Windows环境下,Rails安装Bootstrap总会失败,提示therubyracer无法安装。这是因为Bootstrap使用的less文件依赖therubyracer实时执行js将less转换成css,而therubyracer这个gem并没有对应的Windows版本。 Hiran Peiris在github上提供了提供了解决方案,他编译了所有的dll和gem。这下,我们终于可以在Windows下用Bootstrap啦。 阅读全文
posted @ 2012-12-16 00:12 BetaRabbit 阅读(279) 评论(0) 推荐(0) 编辑
摘要: RequireJS是一个JavaScript文件和模块加载器。除了可以在浏览器中使用外,还可以用Node或Rhino等Server端环境。 最新版可以在这里下载。 基本用法 假设你的工程目录结构如下: project index.html js lib jquery.js app sub_app.js ... 阅读全文
posted @ 2012-11-19 16:38 BetaRabbit 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 今天,下面这段程序让我纠结了很久,Ruby中private的概念真的很奇怪。。。 class Test private def test_print puts 'test' endendclass Test2 < Test def test_print2 # self.test_print #=> 这里加上self就不能调用,private method `test_print' called for # (NoMethodError) test_print #=> 不加self就能调用 endendTest2.new.test_print2 为什么不 阅读全文
posted @ 2012-11-08 23:41 BetaRabbit 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 网上看到下面这段代码,很有意思。String.prototype.cut = function (len) { return this.length > len ? this.substring(0, len) + '...' : this;};var obj = ["Superman", "Batman", "Iron Man"];console.log(typeof obj[1].cut(6));console.log(obj[1].cut(6));这段代码很简单,判断字符串的长度,如果大于给定长度(L)输出 阅读全文
posted @ 2012-11-04 00:26 BetaRabbit 阅读(229) 评论(0) 推荐(0) 编辑