Problem Description
In a construct2 html5 exported project, where the project is hosted on my own website inside an Iframe which does not cover the entire screen.
When I start to drag an object inside the construct 2 iframe and release the mouse outside the frame - the mouse up event is not fired.
In your mouse plugin (runtime.js) - you have added a
info.preventDefault() (line 116) in the mousedown event handler.
This causes you to not track mouse events outside the construct 2 Iframe.
Removing this line will cause the mouse event to track correctly even when leaving the Iframe.
I have attached a jsfiddle that demonstrate the case:
without the preventDefault in mousedown:
http://jsfiddle.net/igalmirom/7z1y3L8v/
with preventDefault():
https://jsfiddle.net/igalmirom/ypm0cLxu/1/
I guess that you prevented the mouse down for a reason but if you could workaround it in some
other way it will help those who want to host a construct game on their own site and not in full screen mode.
Attach a Capx
http://1drv.ms/1c3pqYa - onedrive
Description of Capx
console.logs every mouse down and up event to demonstrate that they are not fired outside of the Iframe where the game is hosted
Steps to Reproduce Bug
- export capx in html5 format
- embed the game in an Iframe on another webpage
- start dragging the mouse inside the Iframe and release it outside the Iframe
Observed Result
In the first attempt both events (mouse down & up) will be logged to the console.
In the second attempt and onward only the mouse down inside the Iframe will be fired
Expected Result
all mouse events are fired regardless of mouse pointer location.
Affected Browsers
- Chrome: Yes
- FireFox: Yes
- Internet Explorer: Yes
Operating System and Service Pack
windows 7
Construct 2 Version ID
release 200