Articles
eBooks
Foundation Libraries
  • AMD API [github.com]
    The AMD (Asynchronous Module Definition) API specifies a mechanism for loading modules based on dependencies.
  • RequireJS [requirejs.org]
    RequireJS is an implementation of the AMD API. It loads JavaScript files and modules, based on dependencies, eliminating the need to manage the load-order of such files manually.
  • Browserify [github.com]
    Supports a node-style require() to organize your browser code and load modules installed by npm. Browserify recursively analyzes all the require() calls in your app and builds a bundle you can provide to the browser in a single <script> tag.
  • Webpack [github.com]
    Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and your custom stuff.
  • Q [github.com]
    Q is a tool for making and composing asynchronous promises in JavaScript
  • jQuery [jquery.com]
  • Backbone.js [backbonejs.org]
    Backbone.js is a light-weight MMV framework with lots of flexibility (i.e., unopinionated). It provides models with key-value bindings and custom events, views with declarative event handling and easily connects to a REST service using JSON.
  • Underscore [underscorejs.org]
    Provides 80-odd functions that support map, select, invoke, function binding, javascript templating, deep equality testing, etc. It delegates to built-in functions, if present, so modern browsers will use the native implementations.
  • Lo-Dash [lodash.com]
    A utility library delivering consistency, customization, performance, and extras. Also, Underscore builds to use as a drop-in replacement.
  • Templates
  • · Node Templates [paularmstrong.github.io]
  • · Consolidate [npmjs.com] (Template engine consolidation library)
  • · JavaScript-Templates [github.com]
    lightweight, fast and powerful JavaScript templating engine with zero dependencies. Compatible with server-side environments like node.js, module loaders like RequireJS and all web browsers
Reference
Supplemental Libraries
Game Frameworks
JavaScript for iOS
JavaScript Summary
Events

Event Canceling

An event can be prevented from continuing the auto-event handling path by returning false. You can also set the event object's returnValue property to false.

To prevent the event from bubbling up to parent event handlers, you'll need to set the event object's cancelBubble property to true.