2015-10-07 202 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