aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dom_utils.coffee
diff options
context:
space:
mode:
authormrmr19932015-09-11 12:20:41 +0100
committermrmr19932016-01-30 13:11:46 +0000
commit07e2bd2fbb0e404af1bb5dfabef94299565171bd (patch)
tree7897e9434ef4068f764bc89ca34d4cb00fd90bcc /lib/dom_utils.coffee
parentc3373252db73430ec466eb0b81a16a5953975e19 (diff)
downloadvimium-07e2bd2fbb0e404af1bb5dfabef94299565171bd.tar.bz2
Emit mouseout when clicking a new element link hints
Diffstat (limited to 'lib/dom_utils.coffee')
-rw-r--r--lib/dom_utils.coffee19
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee
index 027188bf..06a02180 100644
--- a/lib/dom_utils.coffee
+++ b/lib/dom_utils.coffee
@@ -234,19 +234,20 @@ DomUtils =
if element.selectionStart == 0 and element.selectionEnd == 0
element.setSelectionRange element.value.length, element.value.length
-
+ simulateUnhover: (element, modifiers) -> @simulateMouseEvent "mouseout", element, modifiers
simulateClick: (element, modifiers) ->
- modifiers ||= {}
-
eventSequence = ["mouseover", "mousedown", "mouseup", "click"]
for event in eventSequence
- mouseEvent = document.createEvent("MouseEvents")
- mouseEvent.initMouseEvent(event, true, true, window, 1, 0, 0, 0, 0, modifiers.ctrlKey, modifiers.altKey,
- modifiers.shiftKey, 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(mouseEvent)
+ @simulateMouseEvent event, element, modifiers
+
+ simulateMouseEvent: (event, element, modifiers = {}) ->
+ mouseEvent = document.createEvent("MouseEvents")
+ mouseEvent.initMouseEvent(event, true, true, window, 1, 0, 0, 0, 0, modifiers.ctrlKey, modifiers.altKey,
+ modifiers.shiftKey, 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(mouseEvent)
# momentarily flash a rectangular border to give user some visual feedback
flashRect: (rect) ->