2015-11-30 2 views
0

Это функция, которую я хочу назвать (это, безусловно, работает, я проверил это):Вызов пользовательской функции в обработчик событий JQuery

function enableCategoryPopup(event) { 
    event.stopPropagation(); 
    var buttonOffset = $(this).offset(); 
    $('.category-popup').css({ 
     top: buttonOffset.top + 10, 
     left: buttonOffset.left +10 
    }); 
    $('.category-popup').show(100); 
    } 

И здесь я хочу назвать его:

$(document).on("mousedown", ".tab-links li:nth-child(2)", function(event) { 
    if (event.which == 3) { 
     enableCategoryPopup(); 
    } 
    }); 

Моя пользовательская функция должна быть вызвана, как только я щелкнул правой кнопкой мыши по указанному элементу, но это не так. Когда я звоню alert("x") вместо enableCategoryPopup(), он работает, только моя пользовательская функция не выполняется.

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

+4

Pass 'event' объекта для функции' enableCategoryPopup (событие), '' – Tushar

+0

enableCategoryPopup (событие); 'пожалуйста :) – AnhTriet

+0

я боюсь что, похоже, не работает :( – Tywele

ответ

3

попробовать обработку события из функции enableCategoryPopup

function enableCategoryPopup(event) { 
    if (event.which == 3) { 
     event.stopPropagation(); 
     var buttonOffset = $(this).offset(); 
     $('.category-popup').css({ 
      top: buttonOffset.top + 10, 
      left: buttonOffset.left +10 
     }); 
     $('.category-popup').show(100); 
    } 
    } 

    $(document).on("mousedown", ".tab-links li:nth-child(2)", enableCategoryPopup); 
+0

Это работает, спасибо. :) – Tywele

+0

awesome, happy to help – stackoverfloweth

+0

Ya, но не объясняет, почему код OP не работал ?! –

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