我有这样的导航菜单
<ul id="nav">
<li> <a id="firstLink" href="#"> Link 1 </a> </li>
<li> <a id="secondLink" href="#"> Link 2 </a> </li>
<li> <a id="thirdLink" href="#"> Link 3 </a> </li>
<li> <a id="fourthLink" href="#"> Link 4 </a> </li>
</ul>
我想在鼠标按下时将一个函数关联到每个锚标记,所以我有一个外部 js 文件,我的代码是
$(document).ready(function() {
$('#firstLink').onmousedown(doSomething());
[ ... ]
});
function doSomething() {
// this function does something
}
我的问题是,如果我将事件处理程序内联,脚本可以工作并且不会出现任何问题。
<li> <a href="#" id="firstLink" onmousedown="doSomething()"> Link 1 </a> </li>
另一方面,如果我使用外部文件,如上所示,没有任何反应,Chrome 会返回Uncaught TypeError: Object [object Object] has no method onmousedown
,Firefox 和 Firebug 会返回我$("#firstLink").onmousedown is not a function
。我不明白,我做错了什么?