From 02da12769894444899d9e16c5584ecefdfcfef3e Mon Sep 17 00:00:00 2001 From: rlx <0x0073@0x2620.org> Date: Fri, 26 Sep 2014 12:56:22 +0200 Subject: [PATCH] don't invoke global event handlers if keyboard event and focused element is input --- source/Ox.UI/js/Core/Event.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/Ox.UI/js/Core/Event.js b/source/Ox.UI/js/Core/Event.js index 2c6343d7..bd86f725 100644 --- a/source/Ox.UI/js/Core/Event.js +++ b/source/Ox.UI/js/Core/Event.js @@ -133,11 +133,13 @@ callbacks = options.callbacks, that = this; Ox.forEach(Ox.makeObject(args), function(data, originalEvent) { - var events = originalEvent.split('.'); + var events = originalEvent.split('.'), + triggerGlobally = !isKeyboardEvent(originalEvent) + || !Ox.Focus.focusedElementIsInput(); ['*'].concat(events.map(function(event, index) { return events.slice(0, index + 1).join('.'); })).forEach(function(event) { - (callbacks[0][event] || []) + (triggerGlobally ? callbacks[0][event] || [] : []) .concat(callbacks[1][event] || []) .forEach(function(callback) { callback.call(that, data, originalEvent, that);