1. 程式人生 > >使用 jquery獲取canvas物件報錯

使用 jquery獲取canvas物件報錯

使用原生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的高度和寬度一定要使用內聯的方式設定,否者畫出的圖形會變形。