diff options
Diffstat (limited to 'lib/domUtils.js')
| -rw-r--r-- | lib/domUtils.js | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/domUtils.js b/lib/domUtils.js index 700e1920..fd182c59 100644 --- a/lib/domUtils.js +++ b/lib/domUtils.js @@ -80,13 +80,15 @@ var domUtils = { simulateClick: function(element, modifiers) { modifiers = modifiers || {}; - var event = document.createEvent("MouseEvents"); - event.initMouseEvent("click", true, true, window, 1, 0, 0, 0, 0, modifiers.ctrlKey, false, false, - modifiers.metaKey, 0, null); - - // Debugging note: Firefox will not execute the element's default action if we dispatch this click event, - // but Webkit will. Dispatching a click on an input box does not seem to focus it; we do that separately - element.dispatchEvent(event); + var eventSequence = [ "mouseover", "mousedown", "mouseup", "click" ]; + for (var i = 0; i < eventSequence.length; i++) { + var event = document.createEvent("MouseEvents"); + event.initMouseEvent(eventSequence[i], true, true, window, 1, 0, 0, 0, 0, modifiers.ctrlKey, false, false, + modifiers.metaKey, 0, null); + // Debugging note: Firefox will not execute the element's default action if we dispatch this click event, + // but Webkit will. Dispatching a click on an input box does not seem to focus it; we do that separately + element.dispatchEvent(event); + } }, }; |
