Android Chrome左键点击事件鼠标的问题
我们有一个使用webview的绘图应用程序,在Android 6.0和7.0、Chrome版本56.0.2924.87和蓝牙鼠标上运行良好,但在Chrome更新到58.0.3029.83后,不会触发左键单击事件。 我直接从Chrome上测试了OpenDraw应用程序(或者使用任何其他工具在线绘制,比如sketch.io),发现了同样的问题 这会是一个新的环境吗?或者,如果出现bug,如何从Android降级Chrome [新增] 我只是举了一个简单的例子,说明发生了什么: 当您使用Chrome for Android最新版本56.0.2924.87时,此操作正常(显示为黄色)单击事件并保持单击并移动鼠标。但是,当您通过Webview(例如使用)打开此页面并执行相同操作时,只有单击是触发器,而不是mousemove事件 使用的代码:Android Chrome左键点击事件鼠标的问题,android,google-chrome,mouseevent,Android,Google Chrome,Mouseevent,我们有一个使用webview的绘图应用程序,在Android 6.0和7.0、Chrome版本56.0.2924.87和蓝牙鼠标上运行良好,但在Chrome更新到58.0.3029.83后,不会触发左键单击事件。 我直接从Chrome上测试了OpenDraw应用程序(或者使用任何其他工具在线绘制,比如sketch.io),发现了同样的问题 这会是一个新的环境吗?或者,如果出现bug,如何从Android降级Chrome [新增] 我只是举了一个简单的例子,说明发生了什么: 当您使用Chrome
<!DOCTYPE HTML>
<html>
<head>
<meta charset='ISO-8859-1'>
<style>
.canvas{
width: 500px;
height: 300px;
border-style: double;
}
.mini-box{
width: 30px;
height: 20px;
border: solid;
border-width: 1px;
float: left;
text-align: center;
}
</style>
<script language='JavaScript'>
var mc, mm, mu, md, ts, tm, te, tc;
function reset_box(boxName){
var oBox = document.getElementById(boxName);
oBox.style.backgroundColor = '#ffffff';
}
function click_on_canvas(){
var sId = 'mc';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(mc);
mc = setTimeout('reset_box("' + sId + '")', 1000);
}
function mousemove_on_canvas(){
var sId = 'mm';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(mm);
mm = setTimeout('reset_box("' + sId + '")', 1000);
}
function mouseup_on_canvas(){
var sId = 'mu';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(mu);
mu = setTimeout('reset_box("' + sId + '")', 1000);
}
function mousedown_on_canvas(){
var sId = 'md';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(md);
md = setTimeout('reset_box("' + sId + '")', 1000);
}
function touchstart_on_canvas(){
var sId = 'ts';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(ts);
ts = setTimeout('reset_box("' + sId + '")', 1000);
}
function touchmove_on_canvas(){
var sId = 'tm';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(tm);
tm = setTimeout('reset_box("' + sId + '")', 1000);
}
function touchend_on_canvas(){
var sId = 'te';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(te);
te = setTimeout('reset_box("' + sId + '")', 1000);
}
function touchcancel_on_canvas(){
var sId = 'tc';
var oBox = document.getElementById(sId);
oBox.style.backgroundColor = '#ffff00';
clearTimeout(tc);
tc = setTimeout('reset_box("' + sId + '")', 1000);
}
function prepareCanvas(){
oContext.strokeRect(0, 0, oCanvas.width, oCanvas.height);
with (oCanvas){
addEventListener('click', click_on_canvas, false);
addEventListener('contextmenu', click_on_canvas, false);
addEventListener('mousemove', mousemove_on_canvas, false);
addEventListener('mouseup', mouseup_on_canvas, false);
addEventListener('mousedown', mousedown_on_canvas, false);
addEventListener('touchstart', touchstart_on_canvas,false);
addEventListener('touchmove', touchmove_on_canvas, false);
addEventListener('touchleave', touchend_on_canvas, false);
addEventListener('touchend', touchend_on_canvas, false);
addEventListener('touchcancel', touchcancel_on_canvas, false);
}
}
</script>
</head>
<body>
<canvas id='surface' class='canvas'>This browser can not handle HML5</canvas>
<br />
<div id='md' class='mini-box'>md</div>
<div id='mm' class='mini-box'>mm</div>
<div id='mu' class='mini-box'>mu</div>
<div id='mc' class='mini-box'>mc</div>
<div id='mx' class='mini-box'>mx</div>
<div id='ts' class='mini-box'>ts</div>
<div id='tm' class='mini-box'>tm</div>
<div id='te' class='mini-box'>te</div>
<div id='tc' class='mini-box'>tc</div>
<script language='JavaScript'>
var oCanvas = document.getElementById('surface');
var oContext = oCanvas.getContext('2d');
prepareCanvas();
</script>
</body>
</html>
.帆布{
宽度:500px;
高度:300px;
边框样式:双边框;
}
.小盒子{
宽度:30px;
高度:20px;
边框:实心;
边框宽度:1px;
浮动:左;
文本对齐:居中;
}
变量mc、mm、mu、md、ts、tm、te、tc;
功能复位盒(boxName){
var oBox=document.getElementById(boxName);
oBox.style.backgroundColor='#ffffff';
}
函数单击\u画布上的\u(){
var-sId='mc';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(mc);
mc=setTimeout('reset_box(“+sId+””),1000);
}
函数mousemove_on_canvas(){
var sId='mm';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(mm);
mm=设置超时('reset_box(“+sId+””),1000);
}
函数mouseup_on_canvas(){
var-sId='mu';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(mu);
mu=setTimeout('reset_框(“+sId+”),1000);
}
函数mousedown_on_canvas(){
var sId='md';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(md);
md=setTimeout('reset_box(“+sId+”),1000);
}
函数touchstart_on_canvas(){
var sId='ts';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(ts);
ts=setTimeout('reset_box(“+sId+”),1000);
}
函数touchmove_on_canvas(){
var-sId='tm';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
clearTimeout(tm);
tm=setTimeout('reset_框(“+sId+”),1000);
}
函数touchend_on_canvas(){
var sId='te';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(te);
te=setTimeout('reset_box(“+sId+”),1000);
}
函数touchcancel\u on_canvas(){
var sId='tc';
var oBox=document.getElementById(sId);
oBox.style.backgroundColor='#ffff00';
清除超时(tc);
tc=setTimeout('reset_box(“+sId+”),1000);
}
函数prepareCanvas(){
oContext.strokeRect(0,0,oCanvas.width,oCanvas.height);
带(oCanvas){
addEventListener(“单击”,在画布上单击,false);
addEventListener('contextmenu',单击画布上的,false);
addEventListener(“mousemove”,画布上的mousemove,false);
addEventListener('mouseup',画布上的mouseup_,false);
addEventListener(“mousedown”,画布上的mousedown,false);
addEventListener(“touchstart”,画布上的touchstart,false);
addEventListener(“touchmove”,画布上的touchmove,false);
addEventListener('touchleave',画布上的touchend_,false);
addEventListener('touchend',画布上的touchend',false);
addEventListener(“touchcancel”,画布上的touchcancel,false);
}
}
此浏览器无法处理HML5
医学博士
嗯
亩
司仪
mx
ts
商标
te
tc
var oCanvas=document.getElementById('surface');
var oContext=oCanvas.getContext('2d');
preparecavas();
我有一些用户在Android webview中使用蓝牙或OTG鼠标,他们抱怨鼠标点击被注册为长按。所有鼠标点击都没有注册(即使在Chrome浏览器中)。在Android 6.0.1和WebView版本58.0.3029.83的三星设备上,您不能点击任何web内容。我也在索尼的设备上测试过,没有问题。Android 6.0.1和最新的webview(适用于Android 7.0及更高版本)存在三星特有的问题。我有一些用户在Android webview中使用蓝牙或OTG鼠标,他们抱怨鼠标点击在长时间按下时被注册。所有鼠标点击都没有注册(甚至在Chrome浏览器中)。在Android 6.0.1和WebView版本58.0.3029.83的三星设备上,您不能点击任何web内容。我也在索尼的设备上测试过,没有问题。Android 6.0.1和最新的webview(适用于Android 7.0及更高版本)是三星特有的问题