До jQuery 1.7 change()
был просто кратчайшим для bind("change")
.
Начиная с 1.7, однако, было введено on()
, и оно является предпочтительным для bind()
. Это означает, что change()
является сокращением для on("change")
, и фактически все вызовы bind()
теперь будут вызывать on()
внутри.
Короче говоря, они делают то же самое. Я считаю, что явное использование on()
(или bind()
) предпочтительнее, но до тех пор, пока вы будете последовательны во всей своей кодовой базе, я не вижу никаких реальных отличий.
Можно утверждать, что использование change()
сверх on("change")
"лучше", поскольку опечатка в слове "change" в первом случае выдает ошибку разбора ("undefined не является функцией"), но будет тихо провалиться с on()
... но, очевидно, ваши юнит-тесты поймают это, верно? ;).