2012-12-25 24 views
0

下面是代碼:爲什麼canvas元素不能綁定事件?

$('#insert_text').click(function(){ 
var drawing_plate= $("#Drawing_Plate")[0]; 
context = drawing_plate.getContext('2d'); 
drawing_plate.bind('touchstart',insert_the_text); 
}); 

我選擇canvas元素,在分配給drawing_plate。但鉻抱怨

Uncaught TypeError: Object #<HTMLCanvasElement> has no method 'bind

但drawing_plate確實是一個jQuery對象,爲什麼沒有擁有方法: .bind() ...?

更新:請給出解釋。

+0

你忘了jQuery的'$';) – Christoph

回答

4

您正試圖調用一個僅適用於具有DOM對象的jQuery對象的方法。 Convert DOM object to jQuery object before calling jQuery object function

變化

drawing_plate.bind('touchstart',insert_the_text); 

$(drawing_plate).bind('touchstart',insert_the_text); 
+0

是drawing_plate這裏DOM對象?如果我想與DOM對象交換jQuery對象,我只需要使用'[0]'和'$()'? – Stallman

+0

是你的代碼中的drawing_plate是DOM對象,是的,再次交換你可以使用$()和[] – Adil