点击活动工作,但不点按/触摸。我错过了什么?

时间:2017-08-02 16:56:01

标签: javascript

所以我使用这个js代码:

var wrapper1 = document.getElementById("signature-pad-1"),
canvas1 = wrapper1.querySelector("canvas"),
signaturePad1;

var foremansiginput = document.getElementById("foremansiginput")
canvas1.addEventListener("mouseup", function(event) {
if (signaturePad1.isEmpty()) {
    foremansiginput.value = '';
} 
else {
    foremansiginput.value = signaturePad1.toDataURL('image/png');
}
});
canvas1.addEventListener("click", function(event) {
if (signaturePad1.isEmpty()) {
    foremansiginput.value = '';
} 
else {
    foremansiginput.value = signaturePad1.toDataURL('image/png');
}
});
canvas1.addEventListener("touchend", function(event) {
if (signaturePad1.isEmpty()) {
    foremansiginput.value = '';
} 
else {
    foremansiginput.value = signaturePad1.toDataURL('image/png');
}
});

function clear1() { 
signaturePad1.clear(); 
foremansiginput.value = '';
}

function resizeCanvas(canvas) {
var ratio =  window.devicePixelRatio || 1;
canvas.width = 250;
canvas.height = 150;
}

resizeCanvas(canvas1);
signaturePad1 = new SignaturePad(canvas1);


$("#clear1").click(clear1);

除触摸/点按事件外,一切都工作得很好。我尝试过一系列不同的方法,谷歌告诉我"点击"应该像触摸或点击一样工作,所以从理论上讲,我甚至不应该遇到这个问题...

如何使点按/触摸事件与点击相同?

截至目前,当我在签名板上签名时,其他一切都有效。我有一个问题,如果我的最后一笔"笔画"点击它会清除输入的值。但是,我通过添加"点击"事件监听器。所以现在,使用鼠标,我点击它,它会添加到值,而不是清除它。但是,如果我点击/触摸(不拖动我的手指),它会清除该值。我需要停下来。我需要用户在没有清除输入值的情况下点击/触摸签名板。

如果它有帮助,我也会使用szimek的signature_pad.min.js来处理所有这些有趣的事情。

非常感谢任何帮助。提前谢谢。

0 个答案:

没有答案