Query 是爲事(shì)件處理(lǐ)特别設計(jì)的。
jQuery 事(shì)件函數
jQuery 事(shì)件處理(lǐ)方法是 jQuery 中的核心函數。
事(shì)件處理(lǐ)程序指的是當 HTML 中發生某些(xiē)事(shì)件時(shí)所調用(yòng)的方法。術語由事(shì)件“觸發”(或“激發”)經常會(huì)被使用(yòng)。
通常會(huì)把 jQuery 代碼放(fàng)到(dào) <head>部分的事(shì)件處理(lǐ)方法中:
實例
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>
</html>
在上(shàng)面的例子中,當按鈕的點擊事(shì)件被觸發時(shí)會(huì)調用(yòng)一個函數:
$("button").click(function() { // some code... } )
該方法隐藏所有 <p> 元素:
$("p").hide();
單獨文(wén)件中的函數
如果您的網站(zhàn)包含許多頁面,并且您希望您的 jQuery 函數易于維護,那麽請(qǐng)把您的 jQuery 函數放(fàng)到(dào)獨立的 .js 文(wén)件中。
當我們在教程中演示 jQuery 時(shí),會(huì)将函數直接添加到(dào) <head> 部分中。不過,把它們放(fàng)到(dào)一個單獨的文(wén)件中會(huì)更好(hǎo),就像這(zhè)樣(通過 src 屬性來(lái)引用(yòng)文(wén)件):
實例
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>
jQuery 名稱沖突
jQuery 使用(yòng) $ 符号作(zuò)爲 jQuery 的簡介方式。
某些(xiē)其他(tā) JavaScript 庫中的函數(比如 Prototype)同樣使用(yòng) $ 符号。
jQuery 使用(yòng)名爲 noConflict() 的方法來(lái)解決該問題。
var jq=jQuery.noConflict(),幫助您使用(yòng)自(zì)己的名稱(比如 jq)來(lái)代替 $ 符号。
結論
由于 jQuery 是爲處理(lǐ) HTML 事(shì)件而特别設計(jì)的,那麽當您遵循以下(xià)原則時(shí),您的代碼會(huì)更恰當且更易維護:
把所有 jQuery 代碼置于事(shì)件處理(lǐ)函數中
把所有事(shì)件處理(lǐ)函數置于文(wén)檔就緒事(shì)件處理(lǐ)器中
把 jQuery 代碼置于單獨的 .js 文(wén)件中
如果存在名稱沖突,則重命名 jQuery 庫
jQuery 事(shì)件
下(xià)面是 jQuery 中事(shì)件方法的一些(xiē)例子:
Event 函數 | 綁定函數至 |
---|---|
$(document).ready(function) | 将函數綁定到(dào)文(wén)檔的就緒事(shì)件(當文(wén)檔完成加載時(shí)) |
$(selector).click(function) | 觸發或将函數綁定到(dào)被選元素的點擊事(shì)件 |
$(selector).dblclick(function) | 觸發或将函數綁定到(dào)被選元素的雙擊事(shì)件 |
$(selector).focus(function) | 觸發或将函數綁定到(dào)被選元素的獲得焦點事(shì)件 |
$(selector).mouseover(function) | 觸發或将函數綁定到(dào)被選元素的鼠标懸停事(shì)件 |