天天看点

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

继续阅读