mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-05 17:01:19 +08:00
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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user