Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.08.2016, 11:52
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

имя пользовательского обработчика в 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 объявлять нельзя. В документации ничего не нашел, нигде про двоеточие не упоминается.
Будьте добры просветите как создавать такие обработчики, или что за механика здесь используется.
Ответить с цитированием
  #2 (permalink)  
Старый 10.08.2016, 12:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Spass,
это аргумент, а не переменнная
Ответить с цитированием
  #3 (permalink)  
Старый 10.08.2016, 12:52
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Да, конечно аргумент.
Но потом jQuery его "разбирает", namespace определяет...
Вопрос в том какую роль выполняет двоеточие.
Ответить с цитированием
  #4 (permalink)  
Старый 10.08.2016, 12:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Spass,
видимо тоже что делает обычно точка в namespace
Ответить с цитированием
  #5 (permalink)  
Старый 10.08.2016, 13:48
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

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

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

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический подсчет в таблице muraig jQuery 5 11.10.2014 16:54
хочу инвайт на хабр macdack Оффтопик 45 28.07.2013 23:18
Получение значения переменной внутри обработчика события jQuery Mbenga Общие вопросы Javascript 2 01.07.2013 10:57
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09