Merge pull request #10159 from ejn/bugfix/10158-target-name-collision
Fix target name collision in event.Target and Control
This commit is contained in:
@@ -40,7 +40,7 @@ class Target extends Disposable {
|
||||
* @private
|
||||
* @type {*}
|
||||
*/
|
||||
this.target_ = opt_target;
|
||||
this.eventTarget_ = opt_target;
|
||||
|
||||
/**
|
||||
* @private
|
||||
@@ -96,7 +96,7 @@ class Target extends Disposable {
|
||||
const evt = typeof event === 'string' ? new Event(event) : event;
|
||||
const type = evt.type;
|
||||
if (!evt.target) {
|
||||
evt.target = this.target_ || this;
|
||||
evt.target = this.eventTarget_ || this;
|
||||
}
|
||||
const listeners = this.listeners_[type];
|
||||
let propagate;
|
||||
|
||||
@@ -54,3 +54,25 @@ describe('ol.control.Control\'s target', function() {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('ol.control.Control\'s event target', function() {
|
||||
it('is the Control when the Control uses the default target', function() {
|
||||
const ctrl = new Control({element: document.createElement('div')});
|
||||
ctrl.on('test-event', function(e) {
|
||||
expect(e.target).to.be(ctrl);
|
||||
});
|
||||
ctrl.dispatchEvent('test-event');
|
||||
ctrl.dispose();
|
||||
});
|
||||
it('is the Control when the Control has a custom target', function() {
|
||||
const ctrl = new Control({
|
||||
element: document.createElement('div'),
|
||||
target: document.createElement('div')
|
||||
});
|
||||
ctrl.on('test-event', function(e) {
|
||||
expect(e.target).to.be(ctrl);
|
||||
});
|
||||
ctrl.dispatchEvent('test-event');
|
||||
ctrl.dispose();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user