Создать обработчик события
$('div').on('scroll_start', function(k) { alert(k)// сообщение '123' }); Нужно создать обработчик события 'scroll_start', так, чтобы при клике на элемент(в данном случае <div>) выполнялась заданная функция, а параметр этой функции был равен '123' Пробовал так - не работает: jQuery.fn.scroll_start = function(e){ e.k = '123' $(this).on('click', e); } |
Вопрос скорее не к топикстартер: а чем обработчики событий, полезнее обычного обращения к функции? В каких ситуациях? Почему не так например:
function customFunction(e){ alert(e); }; $('div').click(function(){ var x = '123' custumFunction(x); }); |
Мне необходимо своё событие сдалать 'scroll_start'
|
А можно поконкретнее? Что в итоге должно получиться? Какая функциональность реализуется таким образом?
Если я правильно понял, то при клике на div должно выстрелить «своё» событие. Это вроде бы просто, но есть нюансы: Можно передать параметр как поле самого эвента: $(div).on('click', function () { var e = $.Event('scroll_start'); e.k = 123; $(this).trigger(e); }); $(div).on('scroll_start', function (e) { console.log(e.k); }); Можно — как доп. параметр в $.trigger $(div).on('click', function () { $(this).trigger('scroll_start', 123); }); $(div).on('scroll_start', function (e, k) { console.log(k); }); |
Часовой пояс GMT +3, время: 22:06. |