2013-04-08 120 views
1

我已經瞭解到,您可以在HTML或Javascript中聲明事件處理程序。我的問題是,在Javascript或HTML中這樣做更好嗎?這有什麼不同嗎?如果是這樣,爲什麼?javascript中的事件處理

+3

幾乎總是JavaScript。跟蹤和分離HTML與JavaScript更容易。 – Blender 2013-04-08 04:59:47

+0

有道理。謝謝。 – Brett 2013-04-08 05:06:44

+0

如何將此問題標記爲「已回答」? – Brett 2013-04-08 05:08:14

回答

1

幾乎總是JavaScript。它更乾淨,更容易維護,並將HTML與JavaScript分離。

例如,你可以這樣寫:

<button onclick="do_something(this)">Button 1</button> 
<button onclick="do_something(this)">Button 2</button> 
<button onclick="do_something(this)">Button 3</button> 
<button onclick="do_something(this)">Button 4</button> 

或者你可以離開HTML剛剛HTML和事件處理程序從您的腳本中的綁定:

$('button').click(function() { 
    // Do something 
}); 
+1

無論使用哪種附件方法,都可以通過事件委託實現相同的結果。 – RobG 2013-04-08 05:47:01

0

這在很大程度上取決於你的要求。添加內聯偵聽器不會比添加類或ID更困難,因此,無論您將它們添加到服務器(即內聯)還是客戶端(動態),都取決於適合特定情況的內容。讓他們聯機可以讓任何維護代碼的人都清楚,只需查看服務器代碼或生成的HTMl即可。否則,他們必須搜索腳本文件以找出它們的位置。

只要使用任何有效的mote就可以了。