浅谈jquery中使用canvas的问题

使用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的高度和宽度一定要使用内联的方式设置,否者画出的图形会变形。

相关推荐