Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2013, 13:41
Интересующийся
Отправить личное сообщение для Vladjiss Посмотреть профиль Найти все сообщения от Vladjiss
 
Регистрация: 22.06.2013
Сообщений: 18

Создать обработчик события
$('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);
}
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2013, 14:06
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Вопрос скорее не к топикстартер: а чем обработчики событий, полезнее обычного обращения к функции? В каких ситуациях? Почему не так например:

function customFunction(e){
  alert(e);
};

$('div').click(function(){
  var x = '123'
  custumFunction(x);
});
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2013, 14:42
Интересующийся
Отправить личное сообщение для Vladjiss Посмотреть профиль Найти все сообщения от Vladjiss
 
Регистрация: 22.06.2013
Сообщений: 18

Мне необходимо своё событие сдалать 'scroll_start'
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2013, 22:28
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

А можно поконкретнее? Что в итоге должно получиться? Какая функциональность реализуется таким образом?

Если я правильно понял, то при клике на 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);
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли поставить обработчик события "click" на элемент option? Dimaz jQuery 5 05.05.2013 13:39
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11
Как "обмануть" обработчик события? itPiligrim Events/DOM/Window 0 13.05.2010 22:55
как узнать имеется ли обработчик события HelpeR Events/DOM/Window 9 17.02.2010 18:20
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41