Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   имя пользовательского обработчика в jQuery (https://javascript.ru/forum/jquery/64423-imya-polzovatelskogo-obrabotchika-v-jquery.html)

Spass 10.08.2016 11:52

имя пользовательского обработчика в jQuery
 
Добрый день.

Прикручивал карусельку и заметил интересный код

$('.jcarousel-control-prev')
        .on('jcarouselcontrol:active', function() {
            $(this).removeClass('inactive');
        }).on('jcarouselcontrol:inactive', function() {
            $(this).addClass('inactive');
        }).jcarouselControl({ target: '-=1' });



.on('jcarouselcontrol:active', function() {
в имени обработчика используется двоеточие, но насколько я знаю переменные с двоеточием в js объявлять нельзя. В документации ничего не нашел, нигде про двоеточие не упоминается.
Будьте добры просветите как создавать такие обработчики, или что за механика здесь используется.

рони 10.08.2016 12:36

Spass,
это аргумент, а не переменнная

Spass 10.08.2016 12:52

Да, конечно аргумент. :)
Но потом jQuery его "разбирает", namespace определяет...
Вопрос в том какую роль выполняет двоеточие.

рони 10.08.2016 12:56

Spass,
видимо тоже что делает обычно точка в namespace

Spass 10.08.2016 13:48

Проверил
on('click.simple' - корректно ловит клик, через двоеточие вообще никак не реагирует.

on('click.si:mp:le' тоже будет работать, и похоже двоеточие не выполняет никаких функций а просто является разрешенным символом и с тем же успехом можно писать любой другой символ-разделитель (кроме точки и пробела)
.on('jcarouselcontrol+active', function() {

Т.е. чисто декоративная функция, для удобства чтения.

Поправьте если ошибаюсь.


Часовой пояс GMT +3, время: 03:17.