2010-02-28 28 views
2

我一直在使用jQuery最近很多的想知道我是否應該使用監聽器或功能爲我的點擊聽衆或功能。什麼是更有效的:jQuery中

通常我做到以下幾點:使用監聽器的

<head> 
    <script type="text/javascipt"> 
    function buttonclicked() { 
    alert("You Clicked it"); 
    } 
    </script> 
</head> 


<button onclick="buttonclicked()">Click Me</button> 
+2

你一直在使用JavaScript很多,而不是jQuery ... – Marius 2010-02-28 06:21:33

+2

你一直在寫腳本很多,而不是JavaScript – mkoryak 2010-02-28 06:23:00

+0

我想我沒有把JQuery的具體代碼在那裏,但我的問題是關於jQuery。 – shaneburgess 2010-02-28 06:29:41

回答

2

優勢也讓你分開您的標記和JavaScript。

+0

謝謝,有關信息。 – shaneburgess 2010-02-28 06:33:30

+0

@alex,如果您使用JS模板引擎生成HTML,則標記和JS也會分開。和國際海事組織,我發現調查/維護代碼,因爲你看到它時,檢查頁面。 – Mic 2010-02-28 12:40:49

+0

@mic。他們都有他們的好處和缺點。 – alex 2010-02-28 14:56:19

1

我認爲它更有效地做你在你的例子做了什麼。

而且,我難道不會這樣做的,因爲它不是有效得多,它會事宜,這讓醜陋的代碼。另外它更好地將你的js從你的html中分離出來。

所以,請不要做,你在你的例子做了什麼,除非你有一個很好的理由

+0

感謝您的信息。 – shaneburgess 2010-02-28 06:33:50

2

的原因,它是更好地使用jQuery的事件機制,而不是「侵入」 onfoo元素的屬性:

  • 您可以利用「實時」機制。如果你的興趣是效率,那麼你肯定應該考慮這個問題。
  • 不相交的代碼段可結合到處理程序由於不同的原因相同的元件,甚至無需知道有關海誓山盟。您不必更新一個處理程序來處理所有事情。
  • 當事件處理需要改變時,您可以讓標記更清晰,並節省很多麻煩。如果您基於(例如)元素類(例如「button.showHelpText」)綁定處理程序,那麼可以根本不需要觸摸HTML標記就可以對「幫助文本」代碼進行根本性更改。
  • 你避免與那些全球性的處理函數污染全局命名空間的Javascript的難看得一塌糊塗。
  • 你有堅實,可靠的訪問「事件」的數據,jQuery框架的禮貌。

總的來說,如果你打算使用jQuery,下潛,真用。

+0

+1很好的答案。 – alex 2010-02-28 14:57:58