]> source.dussan.org Git - jquery.git/commitdiff
Fix #11328. I've never metaKey I liked on IE 6/7/8.
authorDave Methvin <dave.methvin@gmail.com>
Mon, 11 Jun 2012 22:44:54 +0000 (18:44 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Mon, 11 Jun 2012 22:44:54 +0000 (18:44 -0400)
The `event.metaKey` property is undefined there so we ensure it's set to `false` for lack of a better default. The `originalEvent.metaKey` property is untouched if you prefer to make other guesses about the platform or key state.

This is pretty much impossible to unit test since it is not only platform dependendent but also only executed for native browser events.

src/event.js

index 03049a5c460945ee80e8756585e75c0eb8f3e92f..bc08e4782aca01005dd21181d50f5db8fd4408f0 100644 (file)
@@ -554,10 +554,8 @@ jQuery.event = {
                        event.target = event.target.parentNode;
                }
 
-               // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
-               if ( event.metaKey === undefined ) {
-                       event.metaKey = event.ctrlKey;
-               }
+               // For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8)
+               event.metaKey = !!event.metaKey;
 
                return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
        },