2012-06-02 33 views
0

我已经完成了网络编程已经有一段时间了,我试着重新开始。但是,我似乎无法让JQuery工作。在HTML Canvas中使用JQuery?

在我的JavaScript文件,我有这样的代码:

$(document).ready(function() { 
    $('#canvas').mousedown(function(e){ 
     alert("I am an alert box!"); 
    }); 
}); 

然而,当我点击画布没有任何反应。

我知道一切正常联系的,因为在我的javascript文件的顶部,我有这样的:

function loader() 
{ 
var canvas = $('#canvas')[0].getContext('2d'); 
canvas.fillStyle = "rgba(200, 0, 200, 0.5)"; 
canvas.fillRect(225, 105, 200, 200); 
} 

(在HTML文件中我有<body onload="loader()">

这工作正常,并显示一个粉红色当我加载页面时框。

任何人都知道为什么会发生这种情况?谢谢。

+0

[在这里工作](http://jsfiddle.net/2BuZ5/)。你确定jQuery被加载? – Joseph

+0

似乎工作 - http://jsfiddle.net/ZurbR/ –

+0

呃哦。现在我不知道发生了什么......... lol –

回答

0

Got it!

问题是我在jQuery文件之前链接了我的JavaScript文件。

基本上,切换以下两行:

<script type="text/javascript" src="canvas.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
+1

我看不出如何解决它。如果'.ready'调用位于'canvas.js'中,那么会失败,因为jQuery尚未加载。 – Joseph