Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript J在移动隐藏画布上签名,然后显示空白标志_Javascript_Jquery_Canvas_Jsignature - Fatal编程技术网

Javascript J在移动隐藏画布上签名,然后显示空白标志

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(); $(

使用jSignature,我从数据库(base30)中提取图像字符串。 我检查数据库中的内容,并执行以下操作: 1.隐藏我的清除按钮 2.显示我的编辑按钮 3.将我的base 30数据导入jsignature div 4.从jsignature创建一个图像,并在图像div中显示该图像 5.隐藏我的签名分区

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();
             }
            });