Ответ 1
Это события с именами. Там нет определения для них; click.rails
совпадает с click
, но из-за того, что он помещается в папку rails
, вы можете отменить или вызвать обработчики событий, специфичных для Rails, без вызова всех событий click
для элемента.
Например, предположим, что у вас есть какой-то элемент, <div class='foo' data-remote='true'>
и rails.js binds
$("*[data-remote='true']").bind("click.rails", function() { ... })
В вашем коде у вас также есть:
$(".foo").click(function() { ... });
Теперь Rails может захотеть вызвать этот удаленный обработчик в какой-то момент, но если он просто вызвал $(this).click()
, тогда он будет вызывать все обработчики кликов для элемента, включая ваш пользовательский, что может привести к нежелательному поведению. Вместо этого он может вызывать $(this).trigger('click.rails')
, и только обработчик клика, который он определил, будет запущен.