雖然已經有人問到,但我想解決正確的jQuery編程問題。使用OnClick =或腳本附加事件監聽器
方法1:
<script>
function DoClickAction() {
// Some work
return false;
}
</script>
<a href="#" id="ActionButton" onclick="DoClickAction();">Do some work</a>
VS
方法2:
<script>
$(function() {
$("#ActionButton").on("click", DoClickAction);
}
function DoClickAction() {
// Some work
return false;
}
</script>
<a href="#" id="ActionButton">Do some work</a>
我有我的這個同事,我的意見的討論是,這兩種方法有足夠的親和不能說「這是正確的方式」,但如果我必須選擇我傾向於更喜歡方法#1,這就是爲什麼:
層方法1的優點:
- 當調試別人的代碼,你可以輕鬆地跟蹤它的jQuery代碼,當有人按下鏈接被執行。
- 當你動態加載(AJAX調用)的內容時,它會一直工作,不需要重新綁定你的jQuery事件。
方法#2的優點:
- 它會產生更少的HTML代碼的瀏覽器下載,因爲該腳本文件將被緩存和onclick屬性是沒有必要的。雖然這個例子使用更多的代碼。
- 雖然使用帶1個函數的onclick可以使用相同的屬性,但可以輕鬆地重用代碼。
您對此有何看法?
方法1不jQuery的編程...它只是HTML和JavaScript。 –
沒有「jQuery編程」這樣的東西 –
使用jQuery(即方法#2)連接你的事件允許一個更清晰的方法,允許你在HTML和JS之間區分你的顧慮,而不是將兩者混合在一起。它還允許您「集中」管理JS和相關聯的綁定(即在JS腳本文件中),而不必跟蹤通過HTML連接的事件。 –