3.2 $.Controller - Templated Event Binding
JavaScriptMVC 3.2 brings a lot of great features and enhancements. So many features that changes to $.Controller didn't make the cut for our upcoming 3.2 article. This article reviews 3.2's $.Controller and talks about templated event binding (something we neglected to write up for 3.1).
Continue readingjQuery Resize Event
When building web applications, it can be tricky to get pages to layout correctly, especially when layout can't be done with CSS. Widgets that can dynamically change the layout only complicate matters. JavaScriptMVC 3.1 packs a new resize event that greatly simplifies these layouts.
Continue readingCreating a JavaScriptMVC Slider
JavaScriptMVC makes it easy to write and organize copious amounts of JavaScript code. And although this usually means working among its Model-View-Controller layers to create something amazing, often, you'll find yourself wanting to make a lightweight, reusable UI widget. This demo walks you through creating a basic slider widget.
Continue readingAn Open Letter to You and Alex Russell
DISCLAIMER: This is a pipe-dream, random, 3 AM thought. Do not take seriously.
Continue readingOrganize jQuery Widgets with jQuery.Controller
Do you like organized code and hate nested functions that are impossible to reuse? Want to be able to extend plugins and widgets? Do you want these widgets to clean themselves up after they are removed? Great! JavaScriptMVC-extracted jQuery.Controller is the easiest and most robust way to build jQuery widgets.
Continue readingA Simple, Powerful, Lightweight Class for jQuery
jQuery's functional programming style is downright elegant for manipulating the DOM. But it lacks the structure and code reuse patterns that professional scripters need. John Resig's Simple Class inspired, jQuery.Class is a lightweight, but powerful class-like system that bridges the gap between jQuery's functional programming style and Object Oriented Programming.
Continue readingSet inner/outer width/height with jQuery Dimensions.Etc Plugin
You often want to animate or set an object to be a specific width or height on the page. But if that element has padding, border, or margin, it will probably take up more space than you expect. The jquery.dimensions.etc.js plugin lets you set and animate the outerWidth, outerHeight, innerWidth and innerHeight of DOM elements.
Continue readingGet Multiple Computed Styles FAST with the curStyles jQuery Plugin
Do you use jQuery's css or curCSS functions to get multiple styles on the same element? Don't you know this is slow? The JavaScriptMVC extracted curStyles plugin boosts performance when reading multiple computed styles on a single element.
Continue readingConvert Form Elements to JavaScript Object Literals with jQuery formParams Plugin
Want to quickly extract form data to a more usable format? Of course you do! We use JavaScriptMVC's formParams plugin constantly to turn form data into much easier to manipulate JavaScript Objects. We're releasing formParams standalone so everyone can save a little time on this extremely common task.
Continue readingcompareDocumentPosition plugin for jQuery
Being able to quickly compare two elements' positions in the browser is extremely useful for a variety of tasks. The DOM Level 3 specification describes the compareDocumentPosition method. It returns a bitmask with a whole bunch of useful information. But not all browsers support it :(
Continue readingAjax Fixtures Plugin for jQuery
Are you developing jQuery hotness so fast that the slow-poke server team can't supply you AJAX services fast enough? If so, you might be interested in the JavaScriptMVC-extracted jQuery.Fixture plugin. Fixtures simulate AJAX responses so you can keep developing JavaScript functionality even if the server's services aren't working. The fixture plugin is easy to setup and remove once the services are online.
Continue readingjQuery Default Events
Event Oriented Architectures (EOAs) are an emerging best practice when designing reusable JavaScript widgets. jQuery's trigger, triggerHandler, and jQuery.event.special[EVENT]._default methods have enabled widget authors to easily expose custom events to developers. However, these methods lack the scalability or expressiveness to enable powerful EOAs.
Delegate-able Hover Events for jQuery
Want to use live and delegate with hover events? Now you can! We are releasing JavaScriptMVC's delegate-able hover plugin. This plugin only works for the current 1.4.3 nightly release.
Continue readingDelegate-able Drag-Drop Events for jQuery
Have you ever wanted to use live and delegate with drag-drop events? Now you can! We are releasing JavaScriptMVC's delegate-able drag/drop plugins and extensions. These plugins only work for the current 1.4.3 nightly release.
Continue readingElement Destroyed (a jQuery Special Event)
When building jQuery plugins, it's a best practice to provide some way for the user to teardown the plugin, remove any event handlers, and set things back to a good state. Most plugins can get away with waiting for the element to be removed, but more complex plugins listen for events on elements outside the plugin's element (such as the document or window). For these, it's important to know if an element has been removed and to clean up the plugins leftovers.
Continue readingToo Enterprisey?
A criticism often leveled against JavaScriptMVC is that it is too enterprisey. Here's how Wikipedia describes the term:
Continue readingSAU, Window.Name, JSON-RPC
A few weeks ago, I went out to Chattanooga to give 3 days of JavaScriptMVC training to Southern Adventist University. I was blown away by the university's technology expertise. To my shame, I wasn't expecting a small college to have such sophisticated engineers. But, it wasn't that small! There are 66 sister school associated with SAU. SAU's problem was that each of those sister schools had their own way of doing things. There was almost no reuse. SAU's challenge was to create an architecture that would pave the way for reuse, where one school could leverage the application of another.
Continue readingPhui Grid and Paginator Widget
I just put together a Grid and Paginator widget for Phui that supports the following features in a scant 200 lines of code:
Continue readingTalkin JavaScriptMVC is Hard
Today, I gave a talk at jQueryConf about JavaScriptMVC. It didn't go great. One tactless audience member even asked me to fast forward my presentation - ouch. I consider myself a very good presenter / speaker. I spoke at a Dreamweaver meetup the week before and got rave reviews. Speaking at every JS.Chi, I've also had a ton of practice. However, this didn't go as well, and I've come up with a few reasons:
Continue readingDeveloping JavaScript: Kangax
For this edition of developing JavaScript, I was lucky enough to get a response from a rising young star in JavaScript, Juriy Zaystev - a.k.a Kangax. He is a prototype contributor and his work is often discussed on Ajaxian.
Continue readingWe build open source software.
About Jupiter
Jupiter is dedicated to making JavaScript an easy and enjoyable place to develop kick ass apps. We open-source everything and provide expert web application development, support, and training.
JavaScript development, design, and consulting.
