diff options
author | Jukka Jylänki <jujjyl@gmail.com> | 2014-03-12 11:14:35 +0200 |
---|---|---|
committer | Jukka Jylänki <jujjyl@gmail.com> | 2014-03-12 11:15:44 +0200 |
commit | 50ecad0fcae2514333bf2437c85a206d8f4c399a (patch) | |
tree | 456b7cf0958dfa424adb67abdcff811290f7c3e5 /src/library_html5.js | |
parent | 74a3d9f57867891282f037ed1ed4d6a7292aa473 (diff) |
Fix IE fullscreen requests to not run in mousedown events, since IE doesn't allow them. Related to #2219.
Diffstat (limited to 'src/library_html5.js')
-rw-r--r-- | src/library_html5.js | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/library_html5.js b/src/library_html5.js index 0a938df6..5534781d 100644 --- a/src/library_html5.js +++ b/src/library_html5.js @@ -118,6 +118,8 @@ var LibraryJSEvents = { // Stores objects representing each currently registered JS event handler. eventHandlers: [], + isInternetExplorer: function() { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; }, + _removeHandler: function(i) { JSEvents.eventHandlers[i].target.removeEventListener(JSEvents.eventHandlers[i].eventTypeString, JSEvents.eventHandlers[i].handlerFunc, true); JSEvents.eventHandlers.splice(i, 1); @@ -177,11 +179,9 @@ var LibraryJSEvents = { } }; - var isInternetExplorer = (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0); - var eventHandler = { target: JSEvents.findEventTarget(target), - allowsDeferredCalls: isInternetExplorer ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + allowsDeferredCalls: JSEvents.isInternetExplorer ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: handlerFunc, @@ -230,6 +230,8 @@ var LibraryJSEvents = { handlerFunc: handlerFunc, useCapture: useCapture }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; JSEvents.registerOrRemoveHandler(eventHandler); }, |