Создать обработчик события
$('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, время: 03:22. |