使用 jquery获取canvas对象报错

暨承平
2023-12-01

使用原生js获取canvas对象:

var cas=document.getElementById('canvas').getContext('2d'); //没问题

通常的写法,使用jquery获取canvas对象:

$(document).ready(function(){  
   var cas=$('#canvas').getContext('2d');//出现问题,对象获取不到getContext()方法   
});  

正确的写法:

var cas=$('#canvas')[0].getContext('2d');

原因:
jQuery()返回的是jQuery对象,而jQuery对象是没有getContext方法的,需要把jQuery对象转换成Dom对象。官方文档推荐的方法如上述代码,其实jQuery对象就是类数组,用数组下标可以取得Dom对象。

注意:
HTML5使用canvas的时候,canvas的高度和宽度一定要使用内联的方式设置,否者画出的图形会变形。

 类似资料: