mirror of
https://github.com/jashkenas/backbone.git
synced 2026-01-14 01:17:54 -05:00
Revert "Speed up method calls in delegateEvents and delegate"
This reverts commit 846de91c88.
Conflicts:
backbone.js
This commit is contained in:
14
backbone.js
14
backbone.js
@@ -1075,7 +1075,6 @@
|
|||||||
delegateEvents: function(events) {
|
delegateEvents: function(events) {
|
||||||
if (!(events || (events = _.result(this, 'events')))) return this;
|
if (!(events || (events = _.result(this, 'events')))) return this;
|
||||||
this.undelegateEvents();
|
this.undelegateEvents();
|
||||||
var _delegate = this._delegate;
|
|
||||||
for (var key in events) {
|
for (var key in events) {
|
||||||
var method = events[key];
|
var method = events[key];
|
||||||
if (!_.isFunction(method)) method = this[events[key]];
|
if (!_.isFunction(method)) method = this[events[key]];
|
||||||
@@ -1083,8 +1082,7 @@
|
|||||||
|
|
||||||
var match = key.match(delegateEventSplitter);
|
var match = key.match(delegateEventSplitter);
|
||||||
var eventName = match[1], selector = match[2];
|
var eventName = match[1], selector = match[2];
|
||||||
method = method.bind && method.bind(this) || _.bind(method, this);
|
this.delegate(eventName, selector, _.bind(method, this));
|
||||||
_delegate.call(this, eventName, selector, method);
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
@@ -1092,14 +1090,14 @@
|
|||||||
// Add a single event listener to the element responding only to the
|
// Add a single event listener to the element responding only to the
|
||||||
// optional `selector` or catches all `eventName` events. Subclasses can
|
// optional `selector` or catches all `eventName` events. Subclasses can
|
||||||
// override this to utilize an alternative DOM event management API.
|
// override this to utilize an alternative DOM event management API.
|
||||||
_delegate: function(eventName, selector, method) {
|
delegate: function(eventName, selector, method) {
|
||||||
var $el = this.$el;
|
|
||||||
eventName += '.delegateEvents' + this.cid;
|
eventName += '.delegateEvents' + this.cid;
|
||||||
if (!selector) {
|
if (!selector) {
|
||||||
$el.on(eventName, method);
|
this.$el.on(eventName, method);
|
||||||
} else {
|
} else {
|
||||||
// `selector` is actually `method` in 2 argument form.
|
// When `delegate` is called with two arguments, `selector` is actually
|
||||||
$el.on(eventName, selector, method);
|
// the `method`
|
||||||
|
this.$el.on(eventName, selector, method);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user