2012-05-18 5 views
7

In Metor, wenn alle Ereignisse jQuery Ereignisse waren, konnte ich Gebrauch verwenden jQuery UI Draggable und dann behandelt die drag & dragstop events mit einem Metor event map:Wie werden benutzerdefinierte jQuery-Ereignisse in Meteor behandelt? 0.3.5

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

Aber ich lese das nur in der Meteor-Mailingliste:

In 0.3.6, Veranstaltung nicht mehr Karten hängen von jQuery

Und sicher genug, die obige Technik scheint nicht mehrzu arbeitenmein dragstop Handler wird jetzt überhaupt nicht aufgerufen.

Ich würde sehr schätzen jeden Hinweis, wie Sie den gleichen Effekt in 0.3.6 erzielen.

+0

Ich bin immer noch auf 0.3.5 aber das gleiche Problem haben. Noch keine Nachrichten? –

+0

Wir haben noch keine Geschichte für Drag-and-Drop oder Interoperation mit jQuery UI-Plug-Ins, aber wir werden uns darum kümmern! Eine Problemumgehung könnte sein, den Listener mithilfe von jQuery anstelle einer Ereigniszuordnung zu binden. – dgreensp

+0

@dgreensp Gibt es einen Nachteil bei der Umgehung von Event-Maps (abgesehen davon, dass man die Listener mit der jQuery-Funktion ['on'] (http://api.jquery.com/on/) manuell verbinden muss)? – Emmett

Antwort

3

individual jQuery kann mit einfacher alter jQuery gebunden sein, event maps ganz unter Umgehung:

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

Erinnern Sie jQuery verwenden on Funktion die Handler zu binden, da Schablonenelemente sind nicht notwendigerweise zu allen Zeiten in dem DOM enthält .

+2

Funktioniert '.on' nicht für nicht vorhandene DOM-Elemente, nur wenn es auf' Dokument' gebunden ist? Also '$ (document) .on (Ereignisse, Selektor, Callback)'? Wie '.live' war in früheren jQuery API? – Mitar

5

Heute können Sie einfach Körper Ereignisse verwenden diese die „Meteor“ Art und Weise zu erreichen:

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

Vielen Dank! – Vinod

+0

Und das kann aus irgendeinem Grund nicht funktionieren. Ist das noch eine gültige Antwort? – Billybobbonnet

+0

Ja, es funktioniert ab Meteor 1.2. Welches Problem hast du? – occasl

Verwandte Themen