2012-05-18 3 views
7

В Metor 0.3.5, когда все события были Jquery события, я был в состоянии использовать использование jQuery UI Draggable, а затем обрабатывать drag & dragstop events используя METOR event map:Как обрабатывать пользовательские события jQuery в Meteor?

Template.game.events['dragstop .card'] = function (e) { 
    //stuff 
}; 

Но я только что прочитал это в списке рассылки Метеор: не

в 0.3.6, событие карты больше не зависят от JQuery

И, конечно, выше техника больше не кажется, работает – мой dragstop обработчик вообще не называется.

Буду признателен за то, как достичь такого же эффекта в 0.3.6.

+0

Я до сих пор на 0.3.5, но имеют один и тот же вопрос. Нет новостей? –

+0

У нас еще нет истории о перетаскивании или взаимодействии с плагинами jQuery UI, но мы рассмотрим это! Обходным путем может быть привязка слушателя с помощью jQuery вместо карты событий. – dgreensp

+0

@dgreensp Есть ли недостаток в обходе карт событий (помимо необходимости вручную подключить слушателей к функции jQuery ['on'] (http://api.jquery.com/on/))? – Emmett

ответ

3

Пользовательского JQuery события может быть связанно с простым старым JQuery, полностью минуя event maps:

$(function() { 
    $('body').on('dragstop', '.card', function (e) { 
     //stuff 
    }); 
}); 

Не забывайте использовать on функции JQuery, чтобы связать обработчик, так как элементы шаблона не обязательно входит в DOM во все времена ,

+2

Не '.on' работает для несуществующих элементов DOM, только когда он привязан к' document'? Итак, '$ (document) .on (события, селектор, обратный вызов)'? Как '.live' был в предыдущем API jQuery? – Mitar

5

В настоящее время, вы можете просто использовать события тела, чтобы достигнуть этого «Метеор» путь:

Template.body.events({ 
    'dragstop #somedivid': function(e) { 
     // Do stuff 
    } 
}); 
+0

Большое вам спасибо! – Vinod

+0

И не может заставить это работать по какой-то причине. Это еще верный ответ? – Billybobbonnet

+0

Да, он работает с Meteor 1.2. Какой у вас вопрос? – occasl

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