代码改变世界

随笔分类 - JavaScript

使用Yeoman快速启动AngularJS项目开发

2013-11-04 08:12 by Owen Chen, 5049 阅读, 收藏, 编辑
摘要:本博客停止更新,请访问新个人博客:owenchen.net前言博客迁移到了BAE上,http://owenchen.net/,以后的文章会首发在自己的博客上,随后在博客园发布。很久没有写文章了,一是项目比较忙,二来自己在尝试一些互联网新的产品,以微信平台开发为主,看看能不能挣点零花钱以缓解目前的经济... 阅读全文

使用中文输入法时对键盘事件的处理

2013-07-25 23:09 by Owen Chen, 15583 阅读, 收藏, 编辑
摘要:最近很久没有更新博客了,不是没有东西写,而是没有时间写。公司项目上事情比较多,又在工会谋了份差事;家里房子装修,尽管有老爸盯着,但很多时候还是要自己跑来跑去。所以有时候有了写博客的想法,却老是坐不下来细细写。这些就算为自己这段时间的荒废找个小小的借口吧。其实最主要的问题还是在于自己对博客的定位。之前一直想每篇博客都尽量找到一些比较好的主题,写的比较详细,这样看起来比较专业。但是这样要求的话,每一篇就要花狠多时间准备,很多时间编写,无形中也给自己带来了很多压力。这也是久久没有动笔的一个主要原因。后来在看很多牛人的博客的时候,发现他们也经常放一些小的但是很有用的东西在博客上。都是平时开发的时候遇到 阅读全文

JavaScript事件代理和委托(Delegation)

2013-02-18 17:32 by Owen Chen, 35660 阅读, 收藏, 编辑
摘要:在javasript中delegate这个词经常出现,看字面的意思,代理、委托。那么它究竟在什么样的情况下使用?它的原理又是什么?在各种框架中,也经常能看到delegate相关的接口。这些接口又有什么特殊的用法呢?这篇文章就主要介绍一下javascript delegate的用法和原理,以及Dojo,jQuery等框架中delegate的接口。JavaScript事件代理首先介绍一下JavaScript的事件代理。事件代理在JS世界中一个非常有用也很有趣的功能。当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。这主要得益于浏览器的事件冒泡机 阅读全文

在Node.js上使用dojo库进行面向对象web应用开发

2013-01-26 19:39 by Owen Chen, 1613 阅读, 收藏, 编辑
摘要:最近准备在一个项目上使用Node.js,摸索了一段时间之后基本能够运用起来。由于自己一直做的是JavaEE开发,所以比较习惯于使用面向对象的方式进行开发。而接触前端的第一个框架是Dojo,同样提供了面向对象编程的机制。所以就想着是否在后台node.js上通过加载Dojo库的一些纯javascript的模块来进行面向对象开发。google了之后的确发现了几篇介绍在Node上运行Dojo的文章,先贴在这里:一个是我们公司的Dojo部门的同事写的在 Node.js 上使用 Dojo,还有一篇是一个比较完整的介绍node.js和dojo结合的方案:node.js与dojo完美的融合-开发完全面向对象化 阅读全文

一个完整的基于Node.js web应用详解

2013-01-23 23:23 by Owen Chen, 18466 阅读, 收藏, 编辑
摘要:本博客停止更新,请访问新个人博客:owenchen.duapp.com前言这篇文章所使用的例子是基于《node.js开发指南》这本书中的例子和源代码来做的。express从2.x到3.x引入了非常大的变化,很多模块都被独立出去,并且调用的接口也发生了很大的变化,所以原有的代码在express3.x上是不能运行的。在尝试的过程中,做了很多迁移的工作,同时将一些模块进行了一定的分离和整合,使得整个项目更加具有结构性和可扩展性。这里首先要推荐一下《node.js开发指南》这本书,想学习和使用Node.js的同学,这确实是一本非常全面的介绍Node.js的书籍,看完了之后,结合书中的例子代码,基本可以 阅读全文

从Dojo1.6到Dojo1.8(三)—— Parser,Dijit,DojoX

2012-12-25 15:44 by Owen Chen, 1707 阅读, 收藏, 编辑
摘要:前面两篇文章介绍了Dojo1.8的AMD以及Dojo core当中相关模块的变化。接下来我们介绍一下Dijit,Dojox这两个控件组件模块的变化。Parser在具体讲Dijit之前,我们先了解一下dojo/Parser模块,这个模块由原先dojo.parser转变而来。dojo对于控件的使用提供了编程式(programmatic)和声明式(declarative markup)两种方式。dojo/parser是用来翻译声明式的控件定义,并将它们渲染成控件的实例对象和控件相应的dom节点。对于dojo/parser的调用方式如下:require(["dojo/parser" 阅读全文

从Dojo1.6到Dojo1.8(一)—— AMD

2012-12-18 22:43 by Owen Chen, 1530 阅读, 收藏, 编辑
摘要:08年到IBM实习的时候,第一次接触Dojo,被它强大的控件库所吸引,相比以前自己写的那些普通的HTML元素好看多了。而且Dojo提供的方便的接口也让我觉得控制一个控件还有如此简单的方法。Grid给我带来的震撼更是不言而喻,这么炫的一个表格竟然仅需要不多的几行代码就可以展现出来,还提供了freeze,edit,tooltip等扩展功能。所以官网上的Unbeatable JavaScript也给我烙下了深刻的印象。Dojo本身的面向对象的编程模式,也让习惯了写Java的我非常顺手,逐渐对前台,对Dojo产生了更深的兴趣。然而随着使用的深入,很多Dojo与生俱来的问题给我带来了很多烦恼。重量级框架 阅读全文