cocos2dx-jsを使用している場合は、このコードをmain.jsに記述できます。
マウスカーソルがウィンドウの外に出ると、mouseupイベントがディスパッチされます。シナリオを検討する際に最も役立つのは、スプライトをドラッグしていて、カーソルがウィンドウの外に出たときにmousemoveイベントをキャンセルしたい場合です。
cc.game.onStart = function{
.......................
.......................
.......................
var prohibition = false;
if( cc.sys.isMobile)
prohibition = true;
var selfPointer = cc.inputManager;
var element = cc._canvas;
element.addEventListener("mouseout", function (event) {
if(prohibition) return;
selfPointer._mousePressed = false;
var pos = selfPointer.getHTMLElementPosition(element);
var location = selfPointer.getPointByEvent(event, pos);
selfPointer.handleTouchesEnd([selfPointer.getTouchByXY(location.x, location.y, pos)]);
var mouseEvent = selfPointer.getMouseEvent(location,pos,cc.EventMouse.UP);
mouseEvent.setButton(event.button);
cc.eventManager.dispatchEvent(mouseEvent);
event.stopPropagation();
event.preventDefault();
});
.......................
.......................
.......................
}