You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by yi...@apache.org on 2017/03/15 08:49:09 UTC
git commit: [flex-asjs] [refs/heads/develop] - Add preventDefault to
keyboard events.
Repository: flex-asjs
Updated Branches:
refs/heads/develop 7400f1888 -> efb35eb20
Add preventDefault to keyboard events.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/efb35eb2
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/efb35eb2
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/efb35eb2
Branch: refs/heads/develop
Commit: efb35eb207c7d9b30edb7b11a279bbce6bc88310
Parents: 7400f18
Author: yishayw <yi...@hotmail.com>
Authored: Wed Mar 15 10:48:59 2017 +0200
Committer: yishayw <yi...@hotmail.com>
Committed: Wed Mar 15 10:48:59 2017 +0200
----------------------------------------------------------------------
.../org/apache/flex/events/utils/KeyboardEventConverter.as | 8 +++++---
.../org/apache/flex/html/beads/DispatchKeyboardEventBead.as | 9 +++++++++
2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/efb35eb2/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as
index 24aa879..337539d 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/KeyboardEventConverter.as
@@ -19,6 +19,7 @@
package org.apache.flex.events.utils
{
import org.apache.flex.events.KeyboardEvent;
+ import org.apache.flex.utils.OSUtils;
COMPILE::SWF
{
@@ -53,7 +54,7 @@ package org.apache.flex.events.utils
org.apache.flex.events.KeyboardEvent.KEY_UP;
var newEvent:org.apache.flex.events.KeyboardEvent = new org.apache.flex.events.KeyboardEvent(type, key, code);
newEvent.altKey = oldEvent.altKey;
- // newEvent.ctrlKey = oldEvent.controlKey; // TODO
+// newEvent.ctrlKey = oldEvent.controlKey; // TODO
newEvent.specialKey = oldEvent.ctrlKey;
return newEvent;
}
@@ -72,8 +73,9 @@ package org.apache.flex.events.utils
var type:String = oldEvent.type == "keydown" ? "key_down" : "key_up";
var newEvent:org.apache.flex.events.KeyboardEvent = new org.apache.flex.events.KeyboardEvent(type, oldEvent.key, oldEvent.code);
newEvent.altKey = oldEvent.altKey;
- // newEvent.ctrlKey = oldEvent.controlKey; // TODO
- newEvent.specialKey = oldEvent.ctrlKey;
+ newEvent.ctrlKey = oldEvent.ctrlKey;
+ newEvent.mataKey = oldEvent.metaKey;
+ newEvent.specialKey = OSUtils.getOS() == OSUtils.MAC_OS ? oldEvent.metaKey : oldEvent.ctrlKey;
return newEvent;
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/efb35eb2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
index da69b05..fe09148 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
@@ -123,6 +123,10 @@ package org.apache.flex.html.beads
event.stopImmediatePropagation();
var newEvent:org.apache.flex.events.KeyboardEvent = KeyboardEventConverter.convert(event);
(_strand as IEventDispatcher).dispatchEvent(newEvent);
+ if(newEvent.defaultPrevented)
+ {
+ event.preventDefault();
+ }
}
/**
@@ -131,8 +135,13 @@ package org.apache.flex.html.beads
COMPILE::JS
protected function keyEventHandler(event:KeyboardEvent):void
{
+ event.stopImmediatePropagation();
var newEvent:org.apache.flex.events.KeyboardEvent = KeyboardEventConverter.convert(event);
(_strand as IEventDispatcher).dispatchEvent(newEvent);
+ if(newEvent.defaultPrevented)
+ {
+ event.preventDefault();
+ }
}
}