2016-04-17 6 views
1

Я читал через MaterializeCSS «S JS-файлов, в файле„cards.js“, есть такие строки:jQuery (document) .on ('click.classname' .......)?

$(document).on('click.card', '.card', function (e) { 
    //something 
}); 

Я не знаком с .on() функции JQuery, но я никогда не использовал пользовательское событие как первый параметр. То, что я не понимаю, похоже, нигде не определяет это настраиваемое событие click.card (если это настраиваемое событие), потому что я загружаю только этот файл card.js и еще один файл velocity.min.js из пакета MaterializeCSS, кроме jQuery, и я искал velocity.min.js. связанных с этим событием. Мне кажется, что пользовательское событие находится в этом шаблоне: original event. classname, но я попробовал заменить card на другое имя класса, и это не сработало.

Я попытался найти дополнительную информацию о том, как определить пользовательское событие, но не нашел ничего полезного.

Мой вопрос заключается в том, как определить, где определено это настраиваемое событие.

ответ

2

Это не пользовательское событие, это DOM event with a namespace:

click это событие DOM, и card пространство имен событий.

Если у вас несколько обработчиков на одном элементе, это может помочь вам различить их. Вы можете удалить только этот приемник (и оставить все другие click слушателей):

$(document).off('click.card'); 

И вы можете запустить их вручную с помощью $('...').trigger:

$('.card').trigger('click.card'); // only triggers this specific click listener, not the others 

You can find out more about event namespaces here.

Смежные вопросы