Skip to content

Instantly share code, notes, and snippets.

@privman
Forked from gryzzly/backbone-touch-click.js
Created May 21, 2012 17:39
Show Gist options
  • Save privman/2763480 to your computer and use it in GitHub Desktop.
Save privman/2763480 to your computer and use it in GitHub Desktop.
Backbone touch / click events
// WARNING: untested
// Override the default View.extend to automatically parse the events object upon class definition.
Backbone.View.originalExtend = Backbone.View.extend;
Backbone.View.extend = function (protoProps, classProps) {
var downEvent = "touchup" in window ? "touchup" : "click";
if (typeof(protoProps.events) === "object") {
// Replace the word "down" in the events hash with platform-specific event type
_.each(protoProps.events, function replaceDown(triggerString, functionName, events) {
var newTriggerStr = triggerStr.replace(/^down /, downEvent + ' ');
if (newTriggerStr !== triggerStr) {
events[newTriggerStr] = functionName;
delete events[triggerStr];
}
});
}
return Backbone.View.originalExtend(protoProps, classProps);
};
var abstractView = Backbone.View.extend({
events: {
"down .toggler" : "foo",
"down .toggler" : "bar"
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment