我有一个隐藏字段,它应该从div获取字符串值,并且在浏览器中工作时一切正常,但是当我在平板电脑或智能手机上运行它时它不起作用。我不懂。
这是我的div和隐藏字段:
div id="signature-div" style="border: dotted 2px grey;">
<div id="canvas"></div>
</div>
<input name="signature" type="hidden" id="signature" value="">
和功能:
$(document).ready(function() {
// signature
var W = $("#signature-div").width();
var sigCanvas = $("#canvas").jSignature({width: W, height: 180, "background-color":"#ddd"});
// after signing the offer set hidden field value to signature
$(document).on('mouseup', '#canvas',function(){
//$("form").submit(function() {
var rawSig = $("#canvas").jSignature("getData","svg");
//$("#img").attr("data", 'data:' + rawSig);
//$("#signature").val('data:' + rawSig);
document.getElementById("signature").value = 'data:' + rawSig;
// i have tried both of these up and it doesn't set the hidden value on mobile devices...is there something i'm missing here?
});
});
答案 0 :(得分:1)
你做你的&#34;得到字符串值&#34;在mouseup
...
平板电脑和智能手机没有鼠标
尝试将touchend
事件添加到您的脚本中......就像这样:
$(document).on('mouseup touchend', '#canvas',function(){
同时检查其他touch events ;)
答案 1 :(得分:1)
没有鼠标的设备永远不会触发“鼠标”。事件
添加&#39; touchend&#39;事件也是:
$(document).on('mouseup touchend', '#canvas',function(){
...