Javascript J在移动隐藏画布上签名,然后显示空白标志
使用jSignature,我从数据库(base30)中提取图像字符串。 我检查数据库中的内容,并执行以下操作: 1.隐藏我的清除按钮 2.显示我的编辑按钮 3.将我的base 30数据导入jsignature div 4.从jsignature创建一个图像,并在图像div中显示该图像 5.隐藏我的签名分区Javascript J在移动隐藏画布上签名,然后显示空白标志,javascript,jquery,canvas,jsignature,Javascript,Jquery,Canvas,Jsignature,使用jSignature,我从数据库(base30)中提取图像字符串。 我检查数据库中的内容,并执行以下操作: 1.隐藏我的清除按钮 2.显示我的编辑按钮 3.将我的base 30数据导入jsignature div 4.从jsignature创建一个图像,并在图像div中显示该图像 5.隐藏我的签名分区 if ($("input[name=hiddenSigData]").length) { $(".clrButton").hide(); $(".editButton").show(); $(
if ($("input[name=hiddenSigData]").length)
{
$(".clrButton").hide();
$(".editButton").show();
$(".signature").jSignature("importData", 'data:'+
$("input[name=hiddenSigData]").val());
var datapair = $sigdivAppt.jSignature("getData", "svgbase64")
var i = new Image()
i.src = "data:" + datapair[0] + "," + datapair[1]
$(".divImageofSig").html('');
$(i).appendTo($(".divImageofSig")) // append the image (SVG) to DOM.
$('.sigWrapper').hide();
}
我用这句话:
$(".editButton").on("click", function(e) {
$(".clrButton").show();
$(".cancelEditButton").show();
$(".editButton").toggle();
$(".divImageofSig").hide();
$(".sigWrapper").show();
window.dispatchEvent(new Event('resize'));
});
在桌面上,这是完美的(FF/Chrome)。显示右侧按钮,隐藏图像div,并显示签名div,如下所示:
<div class='sigWrapper'><div class="parentofsignature">
<div class="signature"></div>
</div>
</div>
<div class='divImageofSig'></div>
所以问题是:为什么隐藏一个包含jsignature画布的div,然后重新显示它会导致它空白?这在mobile safari和chrome for iOS中都有发生 更多信息:问题似乎是填充了sig div,并将其隐藏在折叠下方(即屏幕的可见区域下方)。如果我延迟1500,并在页面加载后立即向下滚动,它会短暂可见,然后在1500时隐藏。然后,如果我单击“编辑”,它将显示“良好”。一些关于它被隐藏在折叠下面的div中的信息。更多信息:问题似乎是填充sig div,并将其隐藏在折叠下面(即屏幕的可见区域下面)。如果我延迟1500,并在页面加载后立即向下滚动,它会短暂可见,然后在1500时隐藏。然后,如果我单击“编辑”,它将显示“良好”。它在一个隐藏在折叠下面的div里。
$(".cancelEditButton").on("click", function(e) {
$(".divImageofSig").toggle();
//$(".sigWrapper").toggle();
$(".clrButton").toggle();
$(".editButton").toggle();
if ($("input[name=hiddenSigData]").length)
{
$sigdivAppt.jSignature("importData", 'data:'+ $("input[name=hiddenSigData]").val());
var datapair = $sigdivAppt.jSignature("getData", "svgbase64")
var i = new Image()
i.src = "data:" + datapair[0] + "," + datapair[1]
$(".divImageofSig").html('');
$(i).appendTo($(".divImageofSig")) // append the image (SVG) to DOM.
$('.sigWrapper').hide();
}
});