嗨,当我开始进行Web开发时,我意识到javascript事件名称都是小写的,没有分隔符,即"mousedown","mouseup"等.当使用jQuery UI库时,我注意到它们也使用相同的约定; 即"dropdeactivate",如下例所示
javascript
$( ".selector" ).on( "dropdeactivate", function( event, ui ) {} )
虽然这对于只有2或3个单词的名称很有效,但对于包含更多单词的名称来说真的很糟糕.
尽管如此,当我必须触发我创建的自定义(合成)事件时,我也遵循了这个惯例,直到最近我决定最好开始使用某种形式的分隔符.现在我使用"drop:deactivate"或"app:ready"之类的东西.
在iOS上苹果最近为HTML 5 Airplay API添加了这个事件,我同意这篇文章的主题http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review,他说:
我认为"webkitcurrentplaybacktargetiswirelesschanged"赢得了记录:有史以来最长的JavaScript事件名称.
这个奇怪的惯例背后的原因是什么?为什么不使用任何形式的分隔符或camelCase约定以更易读的方式命名事件?
我认为有一个原因,很多聪明的人都在努力......但过了一段时间我还在想为什么?