2015-10-07 193 views
0

大多數文檔說onreadystatechange事件。但是,JavaScript標準的前綴爲事件處理程序的方法爲'開'。我仍然會說onreadystatechange是一個事件處理程序,因爲我們爲它分配了一個事件處理程序方法。我對嗎?我的意思是,這是一個事件,但不應該以'on'作爲前綴。Onreadystatechange - 事件或事件處理程序?

我想說的是關於事件的命名約定在最流行的語言中是非常不一致的。例如,在以'On'開頭的C#方法中是調用事件的方法。另一方面,在Android中,OnClick是通過單擊按鈕調用的事件。

+0

當瀏覽器觸發[readystatechange](https://developer.mozilla.org/en-US/docs/Web/Events/readystatechange)事件時會觸發它。當選擇改變的索引或文本框中的文本改變時,差別不大。所以'onreadystatechange'是屬性 – epascarello

回答

0

嗯,它主要是基於意見的,取決於你遵循命名約定的程度。但是,是的,如果在函數名稱的開頭讀取on,意味着該函數將執行on給定事件(應該是函數名稱的其餘部分)。你可以說相同的關於onbeforeunload

但是,onreadystatechangeonbeforeunload實際上是事件處理程序,例如,如果您要附加一個事件處理程序與jquery,你所要做的$(window).on('beforeunload'),因此事件名稱是beforeunloadon前綴是不存在的,但在jquery on方法。

+0

所以下面的說法是錯誤的。 MS,請...'所有元素暴露onreadystatechange事件。' https://msdn.microsoft.com/en-us/library/ms536957(v=vs.85).aspx – user107986