时间:2021-02-14 11:29:14 | 栏目:jquery | 点击:次
使用jquery控制canvas的时候会出现一些问题,
var cas=document.getElementById('canvas').getContext('2d');//这个是使用JavaScript的方法,这个没有问题。
//下面是使用jquery的方法操控canvas。 $(document).ready(function(){ var cas=$('#canvas').getContext('2d');<span style="white-space:pre"> </span>//出现问题,对象获取不到getContext()方法 cas.fillRect(10,10,100,100); });
修改的方式为:
$(document).ready(function(){ var cas=$('#canvas')[0].getContext('2d');<span style="white-space:pre"> </span>//添加数值索引,转换为dom对象 cas.fillRect(10,10,100,100); });
原因:jQuery()返回的是jQuery对象,而jQuery对象是没有getContext方法的,需要把jQuery对象转换成Dom对象,官方文档推荐的方法如上述代码,其实jQuery对象就是类数组,用数组下标可以取得Dom对象。
注意:HTML5使用canvas的时候,canvas的高度和宽度一定要使用内联的方式设置,否者画出的图形会变形。