- news (347)
- links (345)
- jQuery Plugins (61)
- jQuery Code Snippets (34)
- jQuery and JavaScript (21)
- plugins (17)
- jQuery News (17)
- Uncategorized (16)
- Media (13)
- jQuery Mobile (11)
- jQuery and CSS (10)
- jQuery Utilities (9)
- jQuery and Ajax (9)
- Random jQuery Stuff (9)
- jQuery Functions (8)
- jQuery Articles (8)
- images (7)
- jQuery (7)
- jQuery Tutorials (7)
- jQuery and HTML (6)
- Javascript Libraries (6)
- jQuery and WordPress (6)
- jQuery Events (6)
- jQuery Testing (6)
- jQuery Image Scripts (5)
- jQuery Knob demo
- Magic Zoom : JavaScript image zoom tool
- jQuery Slider plugin
- jQuery Image Slider V3
- 翻訳:HTML5モバイルWebフレームワークの比較 - きしだのはてな
- Learning Advanced JavaScript
- Shadowbox.js Media Viewer
- Lazy Load Plugin for jQuery
- A Pure CSS3 Cycling Slideshow | Smashing Coding
- URL Decoder. Decode and parse URL online. Javascript jQuery plugin.
- minjs - Minimalist JavaScript
- 13 Great Flickr Galleries to Integrate into Your Site - The Designed
- jQuery Form Input Hints Plugin (Rob Volk's Blog)
- jQuery Mobile | jQuery Mobile
- Thickbox - ColorBox - FancyBox - ShadowBox Comparison - SoftwareProjects : Internet Marketing Services
- [5]テーブル、チャート、コード表示プラグインを活用する - みてわかる!jQuery入門:ITpro
- Comparing HTML5 Mobile Web Framework - Dzyngiri
- 20 More CSS3 Tutorials and Techniques for Creating Buttons
- Infragistics jQuery Controls – Impressive & Professional jQuery Toolset
- remybach/jQuery.superLabels - GitHub
- Tips and best practices to develop responsive websites | CatsWhoCode.com
- What’s new for designers, May 2012 | Webdesigner Depot
- dynamo.js
- 21 Fantastic Examples of Sliders in Web Design | Inspiration
- Edit this Fiddle - jsFiddle
jQuery Special Events; Virtually… not in Real Life
Ben Alman has a mother of a post on his special events work for jQuery. I have a special penchant for custom events and the like, even though I have abused them just as I did in the old days of AOP! :)
What are special events?
The jQuery special events API is a fairly flexible system by which you can specify bind and unbind hooks as well as default actions for custom events. In using this API, you can create custom events that do more than just execute bound event handlers when triggered—these “special” events can modify the event object passed to event handlers, trigger other entirely different events, or execute complex setup and teardown code when event handlers are bound to or unbound from elements.
He does into intrigue detail on the API and gets to show you how to implement the hello world of custom events: tripleclick:
-
-
(function($){
-
-
// A collection of elements to which the tripleclick event is bound.
-
var elems = $([]);
-
-
// Click speed threshold, defaults to 500.
-
$.tripleclickThreshold = 500;
-
-
// Special event definition.
-
$.event.special.tripleclick = {
-
setup: function(){
-
// Initialize the element plugin data, including clicks counter and
-
// last-clicked timestamp.
-
$(this).data( ‘tripleclick’, { clicks: 0, last: 0 } );
-
-
// Add this element to the internal collection.
-
elems = elems.add( this );
-
-
// If this is the first element to which the event has been bound,
-
// bind a handler to document to catch all ‘click’ events.
-
if ( elems.length === 1 ) {
-
$(document).bind( ‘click’, click_handler );
-
}
-
},
-
teardown: function(){
-
// Remove all element plugin data.
-
$(this).removeData( ‘tripleclick’ );
-
-
// Remove this element from the internal collection.
-
elems = elems.not( this );
-
-
// If this is the last element removed, remove the document ‘click’
-
// event handler that "powers" this special event.
-
if ( elems.length === 0 ) {
-
$(document).unbind( ‘click’, click_handler );
-
}
-
}
-
};
-
-
// This function is executed every time an element is clicked.
-
function click_handler( event ) {
-
var elem = $(event.target),
-
-
// Get plugin data stored on the element.
-
data = elem.data( ‘tripleclick’ );
-
-
// If more than `threshold` time has passed since the last click, reset
-
// the clicks counter.
-
if ( event.timeStamp – data.last> $.tripleclickThreshold ) {
-
data.clicks = 0;
-
}
-
-
// Update the element’s last-clicked timestamp.
-
data.last = event.timeStamp;
-
-
// Increment the clicks counter. If the counter has reached 3, trigger
-
// the "tripleclick" event and reset the clicks counter to 0. Trigger
-
// bound handlers using triggerHandler so the event doesn’t propagate.
-
if ( ++data.clicks === 3 ) {
-
elem.trigger( ‘tripleclick’ );
-
data.clicks = 0;
-
}
-
};
-
-
})(jQuery);
-
There is a lot in his article, so give it a once over.
Read the full/original article at Ajaxian » jQuery
Comments are closed.
Learn more about jQuery
I only just found out that the jQuery validation plugins has a validation rule called “remote” which can be used ...
jQuery function to check if horizontal scroll is present – hasHScrollBar() – (or vertical check below also, util function to ...
jQuery function to Set any DOM Element to Top View (bring to front) using CSS Z-Index property.
Is it possible to declare arrays in JavaScript object literal notation? Example 1 – this works with arrays Declaration: Storage ...
To get the a variables type using jQuery there is a jQuery function called .type() which returns “array”, “string”, “number”, ...
In this post you can find tutorials which explain step by step different API use cases with jQuery like Google ...
For valuable work on creation of sites you need a good comfortable editor necessarily. There are many requiring paid products ...
Today we are sharing with you a collection of awesome jQuery Camera Photo plugins. They offer a range of image ...
Back in the day, if you saw something that was animated on a website it was automatically assumed to be ...
In this post, we have compiled a list of 10 jQuery HTML5 Audio players available today, most allow native audio ...
jQuery Mobile is a powerful framework for making mobile web applications. But can we use it to convert existing desktop ...
I have jotted a quick post on a Basic JavaScript Regular Expression Example to give beginners out there a taste ...
In April 2012′s edition of Interestingly Random JavaScript, jQuery and Web Development we bring you some very cool stuff such ...
In this post we are sharing you a roundup of 10 really jQuery plugins as of today. Pretty cool plugins ...
As always expected from the jQuery community, the compilation we have for you today are some good and impressive recently ...
A collection of jQuery PNG/JPEG/GIF plugins that enables image animation, cartoon-like background, etc… let them help you design displays for ...
A collection of JavaScript/jQuery Zip/File/Compressor plugins that allows you to minify your JS code and compress your JS files ready ...
Quick jQuery code snippet on how to keep an element in view. For demo scroll down on any page on ...
Here is what I think is the best and most reliable way to load jQuery library and jQuery UI Libraries. ...
jQuery code snippet which outputs all attributes of element using the default .attr() function on any dom element(s). usage: output:
Use jQuery and the Google Maps API to create your own map application.
Super cool and easy way to get stylish tooltips with jQuery.
The right way to include the jQuery library in WordPress.
