我有以下签名板。
<form method=post action="#" class=sigPad>
<label for=name>Print your name</label>
<input type=text name=name id=name class=name>
<p class="drawItDesc">Draw your signature</p>
<div class="sig sigWrapper"> <div class=typed></div>
<canvas class=pad width="585px" height="200px"></canvas>
<input type=hidden name=output class=output> </div>
<button type="submit" id="agree" style="opacity:0.2">I accept the terms of this agreement.</button>
</form>
这是在需要时调用的函数。
function drawSigPad(){
$('.sigPad').signaturePad({drawOnly:true});
}
当用户按下按钮时,会出现签名板。这在Chrome和FF中运行良好,但在IE非兼容模式下会中断。只要不打开非兼容性,它就可以工作。
我得到的错误如下。
SCRIPT5007: Unable to get value of the property 'getContext': object is null or undefined
jquery.signaturepad.min.js, line 246 character 1
有问题的一行是
i.bind("selectstart.signaturepad",function(a){
return c(a.target).is(":input")
});
任何人都知道为什么IE7打破这个?或者解决这个问题。
编辑:对于混乱,我正在使用IE9浏览器并使用非兼容模式以及使用浏览器工具来检查IE7。答案 0 :(得分:1)
IE7不支持canvas
标记。
它仅在IE8 +中受支持。
here是获取canvas标签和任何其他html5标签的一种很好的方式,可以在IE7和& 8。
它被称为explorercanvas,它模拟画布,几乎可以让任何浏览器显示你的sig pad。
最棒的是,您需要做的就是添加一个<script>
代码。