1
0
mirror of https://github.com/videojs/video.js.git synced 2025-02-02 11:34:50 +02:00

Merge branch 'defaultprevented' of git://github.com/gkatsev/video-js into gkatsev-defaultprevented

This commit is contained in:
Steve Heffernan 2014-03-26 14:32:50 -07:00
commit 2c12ed98a7
2 changed files with 21 additions and 2 deletions

View File

@ -206,9 +206,11 @@ vjs.fixEvent = function(event) {
}
event.returnValue = false;
event.isDefaultPrevented = returnTrue;
event.defaultPrevented = true;
};
event.isDefaultPrevented = returnFalse;
event.defaultPrevented = false;
// Stop the event from bubbling
event.stopPropagation = function () {
@ -293,7 +295,7 @@ vjs.trigger = function(elem, event) {
vjs.trigger(parent, event);
// If at the top of the DOM, triggers the default action unless disabled.
} else if (!parent && !event.isDefaultPrevented()) {
} else if (!parent && !event.defaultPrevented) {
var targetData = vjs.getData(event.target);
// Checks if the target has a default action for this event.
@ -310,7 +312,7 @@ vjs.trigger = function(elem, event) {
}
// Inform the triggerer if the default was prevented by returning false
return !event.isDefaultPrevented();
return !event.defaultPrevented;
/* Original version of js ninja events wasn't complete.
* We've since updated to the latest version, but keeping this around
* for now just in case.

View File

@ -114,3 +114,20 @@ test('should bubble up DOM unless bubbles == false', function(){
});
vjs.trigger(inner, { type:'nobub', target:inner, bubbles:false });
});
test('should have a defaultPrevented property on an event that was prevent from doing default action', function() {
expect(2);
var el = document.createElement('div');
vjs.on(el, 'test', function(e){
ok(true, 'First listener fired');
e.preventDefault();
});
vjs.on(el, 'test', function(e){
ok(e.defaultPrevented, 'Should have `defaultPrevented` to signify preventDefault being called');
});
vjs.trigger(el, 'test');
});