2015-12-01 2 views
0

Так что я использую http://amsul.ca/pickadate.js/, и я пытаюсь ссылаться на объект даты в DOM из любого из обработчиков событий pickadate.Ссылка на текущий элемент DOM из внутренних обработчиков событий (pickadate.js)

Например, я хочу, чтобы иметь возможность сказать:

onClose: function() { 
    var $this = ?; // <-- How do I define $this? 
    $this.fadeOut(); 
} 

Вопрос:

Как Вы относитесь к текущему элементу DOM внутри одной из этих функций обработчиков событий?

Примечание:

this, $(this) and $this don't seem to work :-(

Код:

var dates = $('.dates'); 

dates.pickadate({ 
    today: t, 
    format: f, 
    clear: false, 
    min: min, 
    max: max, 
    selectYears: sy, 
    selectMonths: sm, 
    firstDay: fd, 
    formatSubmit: f2, 
    hiddenSuffix: s, 

    onClose: function() { 
     var $this = ?; // <-- How do I define $this? 
     $this.fadeOut(); 
    } 
}); 
+1

Вы можете добавить свой код html и js? – Pedram

+0

Mmm ... Я нашел это «В рамках всех шести этих событий это относится к сборщику». В конце этой страницы http://amsul.ca/pickadate.js/date/ –

ответ

1

Попробуйте это:

onClose: function() { 
    this.trigger().$node.fadeOut() 
} 
+0

Вы также можете написать инструкцию «отладчик» в первой строке вашей функции и используя «инструменты hrome dev» для достижения лучшего решения: onClose: function() { отладчик; this.trigger(). $ Node.fadeOut() } – Pedram

1

на основе возвращаемого объекта, я подозреваю, что вы ищете:

onClose: function() { 
    var $this = this.$holder; 
    $this.fadeOut(); 
} 
+0

Вы определенно на что-то там. это. $ root.parent(). hide() успешно скрывает родительский контейнер элемента pickadate. То же самое для этого. $ Holder.parent(). Parent(). Hide(); –

+0

Так что вы говорите, что это. $ Root на самом деле то, что вы искали? Значение, в события datepicker.js, this = this. $ Root? Если вы поняли это, возможно, вы можете отправить ответ на вопрос самостоятельно;) – 1cgonza

+0

http://amsul.ca/pickadate.js/api/#objects –

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