сенсорная функция не работает на планшете с Chrome - PullRequest
0 голосов
/ 21 февраля 2019

Я использую планшет для захвата подписи от сотрудников.Он отлично работает на IE и Firefox.Касание ручкой или пальцем захватывает и рисует фигуру, которую хочет пользователь.Тем не менее, в Google Chrome он работает с мышью, но НЕ, когда пользователь нажимает на квадрат.Это только ставит точки на экране.В другом приложении выполняется прокрутка страницы, на экране нет рисунков. Как я могу решить эту проблему?это код:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
        <link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/south-street/jquery-ui.css" rel="stylesheet"/> 
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
        <link type="text/css" href="css/jquery.signature.css" rel="stylesheet"> 
        <script type="text/javascript" src="js/jquery.signature.js"></script>
        <script type="text/javascript" src="js/jquery.ui.touch-punch.min.js"></script>
    <script>// 
  function preventBack(){window.history.forward();}
  setTimeout("preventBack()", 0);
  window.onunload=function(){null;};
</script>
    </head>
<body>    
<style>
        body > iframe { display: none; }
        .kbw-signature { width: 200px; height: 100px; }
</style>
<script src="js/jquery.signature.js">    
</script>
<script>    
$(function() {
	$('#sig').signature();
        $('#sig').signature('option',     {color: '#ff0000'});
        $('#sig').signature('toDataURL'); 
	$('#toDataURL').click(function() {		
               var x=$('#sig').signature('toDataURL');
               var y = $('#nm').val();
               var z =$('#fn').val();
               post('captureSignature',{name:x,
                                        nm:y,
                                        fn:z});//               
	});
        $('#clear').click(function() {
		$('#sig').signature('clear');
	});       
});
function post(path, parameters) {
    var form = $('<form></form>');

    form.attr("method", "post");
    form.attr("action", path);

   $.each(parameters, function(key, value) {
       var field = $('<input></input>');
            field.attr("type", "hidden");
            field.attr("name", key);
            field.attr("value", value);
            form.append(field);
    });

    // The form needs to be a part of the document in
    // order for us to be able to submit it.
    $(document.body).append(form);
    form.submit();
}
</script>

<h1>DEMO signaturecapture</h1>
<p>capturing signature</p>
 
<p>name: <input name="name" id="nm" title="please enter your name" required></p>

<p>signature :</p>
<div id="sig"></div>
<p style="clear: both;"><button id="clear">Clear</button> 
	
<button id="toDataURL">ok and save</button></p>
<script>
        var c=document.getElementById("sig");
        var ctx=c.getContext("2d");    
    </script>  
    </body>
</html>

​
...