jQuery 是為事件處理特別設(shè)計(jì)的。
jQuery 事件
jQuery 事件函數(shù)
jQuery 事件處理方法是 jQuery 中的核心函數(shù)。
事件處理程序指的是當(dāng) HTML 中發(fā)生某些事件時(shí)所調(diào)用的方法。術(shù)語(yǔ)由事件“觸發(fā)”(或“激發(fā)”)經(jīng)常會(huì)被使用。
通常會(huì)把 jQuery 代碼放到 <head>部分的事件處理方法中:
實(shí)例
<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>
在上面的例子中,當(dāng)按鈕的點(diǎn)擊事件被觸發(fā)時(shí)會(huì)調(diào)用一個(gè)函數(shù):
$("button").click(function() {..some code... } )
該方法隱藏所有 <p> 元素:
$("p").hide();
單獨(dú)文件中的函數(shù)
如果您的網(wǎng)站包含許多頁(yè)面,并且您希望您的 jQuery 函數(shù)易于維護(hù),那么請(qǐng)把您的 jQuery 函數(shù)放到獨(dú)立的 .js 文件中。
當(dāng)我們?cè)诮坛讨醒菔?jQuery 時(shí),會(huì)將函數(shù)直接添加到 <head> 部分中。不過,把它們放到一個(gè)單獨(dú)的文件中會(huì)更好,就像這樣(通過 src 屬性來引用文件):
實(shí)例
<head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="my_jquery_functions.js"></script> </head>
jQuery 名稱沖突
jQuery 使用 $ 符號(hào)作為 jQuery 的簡(jiǎn)介方式。
某些其他 JavaScript 庫(kù)中的函數(shù)(比如 Prototype)同樣使用 $ 符號(hào)。
jQuery 使用名為 noConflict() 的方法來解決該問題。
var jq=jQuery.noConflict(),幫助您使用自己的名稱(比如 jq)來代替 $ 符號(hào)。
結(jié)論
由于 jQuery 是為處理 HTML 事件而特別設(shè)計(jì)的,那么當(dāng)您遵循以下原則時(shí),您的代碼會(huì)更恰當(dāng)且更易維護(hù):
- 把所有 jQuery 代碼置于事件處理函數(shù)中
- 把所有事件處理函數(shù)置于文檔就緒事件處理器中
- 把 jQuery 代碼置于單獨(dú)的 .js 文件中
- 如果存在名稱沖突,則重命名 jQuery 庫(kù)
jQuery 事件
下面是 jQuery 中事件方法的一些例子:
Event 函數(shù) | 綁定函數(shù)至 |
---|---|
$(document).ready(function) | 將函數(shù)綁定到文檔的就緒事件(當(dāng)文檔完成加載時(shí)) |
$(selector).click(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的點(diǎn)擊事件 |
$(selector).dblclick(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的雙擊事件 |
$(selector).focus(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的獲得焦點(diǎn)事件 |
$(selector).mouseover(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的鼠標(biāo)懸停事件 |
如需完整的參考手冊(cè),請(qǐng)?jiān)L問我們的 jQuery 事件參考手冊(cè)。