Commit 42340e57 by Masaru Abe

#12340 Chrome FireFoxでタッチ操作が出来ない

parent b446ac6a
......@@ -60,6 +60,9 @@ var UserEnvironment = function() {
if(userAgent.toLowerCase().indexOf("msie") >= 0) {
return "msie";
}
if(userAgent.toLowerCase().indexOf("trident") >= 0) {
return "msie";
}
if(userAgent.toLowerCase().indexOf("firefox") >= 0) {
return "firefox";
}
......
......@@ -1137,8 +1137,22 @@ function drawOnCanvas() {
tool = new tool_drawing();
if (isTouchDevice() == true) {
initializeCanvas(document.getElementById('draw_canvas'));
initializeCanvas(document.getElementById('marker_canvas'));
//iOSかAndroid以外ならmarkerではmouseも発火させる
if(avwUserEnvObj.os != "ipad" && avwUserEnvObj.os != "android"){
//draw_canvas
canvas_draw.addEventListener('mousedown', ev_canvas, false);
canvas_draw.addEventListener('mousemove', ev_canvas, false);
canvas_draw.addEventListener('mouseup', ev_canvas, false);
canvas_draw.addEventListener('mouseout', ev_canvas, false);
//marker_canvas
canvas_marker.addEventListener('mousedown', ev_canvas, false);
canvas_marker.addEventListener('mousemove', ev_canvas, false);
canvas_marker.addEventListener('mouseup', ev_canvas, false);
canvas_marker.addEventListener('mouseout', ev_canvas, false);
}
}
else {
// Attach the mousedown, mousemove and mouseup event listeners.
......@@ -1558,6 +1572,7 @@ function tool_drawing() {
};
this.mousemove = function (ev) {
ev.preventDefault();
if (isAddingMarking == true) {
if ($("#marker_canvas").is(":hidden")) {
drawMouseMove(context_draw, ev);
......@@ -3669,12 +3684,32 @@ function setDefaultEvent() {
document.getElementById('main').addEventListener('mousemove', mouseMove_canvasMain, false);
document.getElementById('main').addEventListener('mouseup', mouseUp_CanvasMain, false);
if ($.browser.msie ) {
_bWin8TouchEnabled = window.navigator.msPointerEnabled;
if (avwUserEnvObj.browser == 'msie') {
_bWin8TouchEnabled = window.navigator.msPointerEnabled;
} else {
if( isTouchDevice ){
document.getElementById('main').addEventListener('touchstart', onTouchstart, false);
document.getElementById('main').addEventListener('touchmove', onTouchmove, false);
document.getElementById('main').addEventListener('touchend', onTouchend, false);
//iPad&Andの実装から
document.getElementById('canvasWrapper').addEventListener('touchstart', function(event){event.preventDefault();}, false);
document.getElementById('canvasWrapper').addEventListener('touchmove', function(event){event.preventDefault();}, false);
document.getElementById('canvasWrapper').addEventListener('touchend', function(event){event.preventDefault();}, false);
document.getElementById('overlay').addEventListener('touchstart', function(event){event.preventDefault(); return false;}, false);
document.getElementById('overlay').addEventListener('touchmove', function(event){event.preventDefault(); return false;}, false);
document.getElementById('overlay').addEventListener('touchend', function(event){event.preventDefault(); return false;}, false);
//デフォルトのD&Dが効いてしまう問題回避
document.getElementById('button_next_canvas').addEventListener('touchstart', function(event){event.preventDefault();}, false);
document.getElementById('button_next_canvas').addEventListener('touchmove', function(event){event.preventDefault();}, false);
document.getElementById('button_next_canvas').addEventListener('touchend', function(event){event.preventDefault();}, false);
document.getElementById('button_pre_canvas').addEventListener('touchstart', function(event){event.preventDefault();}, false);
document.getElementById('button_pre_canvas').addEventListener('touchmove', function(event){event.preventDefault();}, false);
document.getElementById('button_pre_canvas').addEventListener('touchend', function(event){event.preventDefault();}, false);
}
}
if(_bWin8TouchEnabled){
document.getElementById('main').addEventListener('MSPointerDown', onTouchstart, false);
document.getElementById('main').addEventListener('MSPointerMove', onTouchmove, false);
document.getElementById('main').addEventListener('MSPointerUp', onTouchend, false);
......
......@@ -962,10 +962,12 @@ function onClick_CanvasMain(event) {
function mouseMove_canvasMain(event) {
event.preventDefault();
//Start Function : No.20 - Editor : Long
if(_isTouching){
if(_isTouching){
//_isTouching = false;
return;
return;
}
if(ClientData.IsAddingMarking() == true){
......@@ -977,7 +979,7 @@ function mouseMove_canvasMain(event) {
}
//End Function : No.20 - Editor : Long
event.preventDefault();
//event.preventDefault();
/* base image move when userScale over 1 */
if (moveFlag && userScale != 1) {
......@@ -1143,9 +1145,12 @@ function mouseMove_canvasMain(event) {
};
function mouseDown_CanvasMain(event) {
event.preventDefault();
//Start Function : No.20 - Editor : Long - Date: 08/17/2013 - Summary :
if(_isTouching){
//_isTouching = false;
if(_isTouching){
// //_isTouching = false;
return;
}
......@@ -1162,7 +1167,7 @@ function mouseDown_CanvasMain(event) {
moveFlag = false;
}
event.preventDefault();
//event.preventDefault();
$('#main').css('cursor', 'default');
......@@ -1213,12 +1218,10 @@ function mouseDown_CanvasMain(event) {
//End Function : No.9 - Editor : Long - Date : 08/16/2013 - Summary:
}
else {
//event.preventDefault();
px = event.targetTouches[0].pageX;
py = event.targetTouches[0].pageY;
}
}
};
function mouseUp_CanvasMain(event) {
......@@ -1372,34 +1375,43 @@ function resetNaviAction(){
function onTouchstart(evt){
evt.preventDefault();
if(ClientData.IsAddingMarking() == true){
return;
}
var bContinue = true;
if (avwUserEnvObj.os == "ipad" || avwUserEnvObj.os == "android") {
evt.preventDefault();
}
//if (avwUserEnvObj.os == "ipad" || avwUserEnvObj.os == "android") {
// evt.preventDefault();
//}
//if( isTouchDevice ){
// evt.preventDefault();
//}
if(isLoadingObject){
bContinue = false;
}
switch (evt.pointerType) {
case evt.MSPOINTER_TYPE_TOUCH:
_isTouching = true;
break;
case evt.MSPOINTER_TYPE_PEN:
bContinue = false;
break;
case evt.MSPOINTER_TYPE_MOUSE:
_isTouching = false;
bContinue = false;
break;
if( evt.pointerType != null ){
//evt.pointerType は IE以外 undef
switch (evt.pointerType) {
case evt.MSPOINTER_TYPE_TOUCH:
_isTouching = true;
break;
case evt.MSPOINTER_TYPE_PEN:
bContinue = false;
break;
case evt.MSPOINTER_TYPE_MOUSE:
_isTouching = false;
bContinue = false;
break;
}
} else {
_isTouching = true;
}
if(!bContinue){
return;
}
......@@ -1412,7 +1424,8 @@ function onTouchstart(evt){
_touchLastPos = null;
_touchFirstPos = null;
if(_bWin8TouchEnabled){
if(_bWin8TouchEnabled){
_bufferPoints = [];
if(_startPoints.length == 0){
// start navi page case
......@@ -1420,7 +1433,7 @@ function onTouchstart(evt){
_startPoints.push(touch1);
if(userScale != 1){
px = evt.pageX;
py = evt.pageY;
py = evt.pageY;
}
else{
touchDownFirstPosX = evt.clientX;
......@@ -1493,20 +1506,19 @@ function onTouchstart(evt){
// not is win 8 touch event
touch1 = evt.touches[0];
touch2 = evt.touches[1];
if(touch2 == null){
touch2 = evt.touches[1];
if(touch2 == null){
_isClick = true;
_touchPageX = evt.touches[0].pageX;
_touchPageY = evt.touches[0].pageY;
//set touch to move page flag
if(touch2 == null && userScale == 1){
if(userScale == 1){
if(animateType == animateTypeKeys.Type_Slide){
$('#mainPre').css("display",'block');
$('#mainNext').css("display",'block');
}
_isPageNaviTouch = true;
_moveNum = 0;
touchStartedTime = new Date();
......@@ -1546,12 +1558,16 @@ function onTouchstart(evt){
}
//End Function : No.9 - Editor : Long - Date : 08/16/2013 - Summary:
}
else if(touch2 == null && userScale != 1){
else if(userScale != 1){
_isPageNaviTouch = false;
px = evt.pageX;
py = evt.pageY;
//px = evt.pageX;
//py = evt.pageY;
//試験
px = evt.touches[0].pageX;
py = evt.touches[0].pageY;
}
else {
else {
//ここにこない
_isPageNaviTouch = false;
}
......@@ -1597,6 +1613,8 @@ var isPreventClick = false;
function onTouchmove(evt){
evt.preventDefault();
if(ClientData.IsAddingMarking() == true){
return;
}
......@@ -1605,27 +1623,32 @@ function onTouchmove(evt){
if(isLoadingObject){
bContinue = false;
}
switch (evt.pointerType) {
case evt.MSPOINTER_TYPE_TOUCH:
_isTouching = true;
break;
case evt.MSPOINTER_TYPE_PEN:
bContinue = false;
break;
case evt.MSPOINTER_TYPE_MOUSE:
_isTouching = false;
bContinue = false;
break;
if( evt.pointerType != null ){
//evt.pointerType は IE以外 undef
switch (evt.pointerType) {
case evt.MSPOINTER_TYPE_TOUCH:
_isTouching = true;
break;
case evt.MSPOINTER_TYPE_PEN:
bContinue = false;
break;
case evt.MSPOINTER_TYPE_MOUSE:
_isTouching = false;
bContinue = false;
break;
}
} else {
_isTouching = true;
}
if(!bContinue){
return;
}
if (avwUserEnvObj.os == "ipad" || avwUserEnvObj.os == "android") {
evt.preventDefault();
}
//if (avwUserEnvObj.os == "ipad" || avwUserEnvObj.os == "android") {
// evt.preventDefault();
//}
var touch1 = null;
var touch2 = null;
......@@ -1868,6 +1891,8 @@ function onTouchmove(evt){
function onTouchend(evt){
evt.preventDefault();
if(ClientData.IsAddingMarking() == true){
return;
}
......@@ -1878,27 +1903,33 @@ function onTouchend(evt){
bContinue = false;
}
switch (evt.pointerType) {
case evt.MSPOINTER_TYPE_TOUCH:
_isTouching = true;
break;
case evt.MSPOINTER_TYPE_PEN:
_isTouching = false;
bContinue = false;
break;
case evt.MSPOINTER_TYPE_MOUSE:
_isTouching = false;
bContinue = false;
break;
if( evt.pointerType != null ){
//evt.pointerType は IE以外 undef
switch (evt.pointerType) {
case evt.MSPOINTER_TYPE_TOUCH:
_isTouching = true;
break;
case evt.MSPOINTER_TYPE_PEN:
_isTouching = false;
bContinue = false;
break;
case evt.MSPOINTER_TYPE_MOUSE:
_isTouching = false;
bContinue = false;
break;
}
} else {
//タッチ操作終了
_isTouching = false;
}
if(!bContinue){
return;
}
if (avwUserEnvObj.os == "ipad" || avwUserEnvObj.os == "android") {
evt.preventDefault();
}
//if (avwUserEnvObj.os == "ipad" || avwUserEnvObj.os == "android") {
// evt.preventDefault();
//}
_lastScaleDelta = userScale -1;
if(_bWin8TouchEnabled){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment