jQuery Roundup: 1.6.4, BoltJS, Kendo UI

2011-09-13 15:00

jQuery Roundup: 1.6.4, BoltJS, Kendo UI

by

at 2011-09-13 07:00:00

original http://feedproxy.google.com/~r/dailyjs/~3/WCWkJ_ikGXw/jquery-roundup

Note: You can send your plugins and articles in for review through our contact form or @dailyjs.

jQuery 1.6.4

jQuery 1.6.4 is out already! This version fixes issues discovered in the last release:

  • #10194 – Data attribute names with single dash-surrounded letters cannot be accessed by the camel-case name
  • #10208$("form").live("submit", fn) not fired from <button type="submit"> in IE8
  • #10197 – Bug with mime-type application/xhtml+xml in jquery 1.6.3

BoltJS

BoltJS (GitHub: shaneosullivan / boltjs, License: MIT) by Shane O’Sullivan (and Facebook apparently) is a client-side framework built on Javelin and CommonJS modules. It makes it possible to compose complex widgets from other widgets, then synchronise their data models. To do this, several core modules are used:

Kendo UI

Kendo UI (License) by Telerik Inc. is a new HTML5 UI framework that’s built on jQuery. The core framework includes a DataSource component for using local or remote data that supports CRUD operations, and can be bound to UI widgets. Templates are another core feature, and it’s claimed they’re extremely fast. Kendo UI also supports a strong set of UI widgets and tools for building mobile web apps.

The TreeView, Upload, and Splitter widgets caught my eye as I looked through the documentation — particularly the Splitter, as it’s something I’ve often been tasked to build and felt was missing from jQuery UI.

Kendo UI’s widgets are instantiated and configured the same way as any jQuery plugin. The “widget client object” can be accessed using data():

var grid = $('#grid').data('kendoGrid');

Events can be bound through widget initialization or using bind:

$('#search').kendoAutoComplete({
  dataSource: data,
  change: onChange,
  close: onClose,
  open: onOpen
});

var autoComplete = $('#search').data('kendoAutoComplete');
autoComplete.bind('change', onChange);