feat(scenario): browserTrigger returns false if preventDefault()

https://developer.mozilla.org/en/DOM/element.dispatchEvent
dispatchEvent method returns false if at least one of the event handlers called
preventDefault(), true otherwise.

It's helpful when browserTrigger method returns this value, as we can assert,
whether the default operation was cancelled or not.
This commit is contained in:
Vojta Jina 2011-07-19 20:02:50 +02:00
parent 4421f3d435
commit 909415d5ed

View file

@ -267,7 +267,7 @@ function browserTrigger(element, type) {
// forcing the browser to compute the element position (by reading its CSS)
// puts the element in consistent state.
element.style.posLeft;
element.fireEvent('on' + type);
var ret = element.fireEvent('on' + type);
if (lowercase(element.type) == 'submit') {
while(element) {
if (lowercase(element.nodeName) == 'form') {
@ -277,10 +277,11 @@ function browserTrigger(element, type) {
element = element.parentNode;
}
}
return ret;
} else {
var evnt = document.createEvent('MouseEvents');
evnt.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, element);
element.dispatchEvent(evnt);
return element.dispatchEvent(evnt);
}
}