From c2d2415b1a962b9e6140deb9bfa6593c2804c4e9 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Mon, 28 Mar 2011 19:53:38 -0400 Subject: [PATCH] Don't feed keys to document.activeElement unless it's an input element. Closes issue #467. --- common/content/events.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/common/content/events.js b/common/content/events.js index 81644e87..3b8b042d 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -669,12 +669,15 @@ var Events = Module("events", { let doc = document.commandDispatcher.focusedWindow.document; let event = events.create(doc, type, evt); + let target = dactyl.focusedElement + || ["complete", "interactive"].indexOf(doc.readyState) >= 0 && doc.documentElement + || doc.defaultView; + + if (target instanceof Element && !Events.isInputElement(target)) + target = target.ownerDocument.documentElement; if (!evt_obj.dactylString && !mode) - events.dispatch(dactyl.focusedElement - || ["complete", "interactive"].indexOf(doc.readyState) >= 0 && doc.documentElement - || doc.defaultView, - event, evt); + events.dispatch(target, event, evt); else if (type === "keypress") events.events.keypress.call(events, event); }