Próbuję utworzyć niestandardowe zdarzenie JavaScript. Wydarzenie działa poprawnie i strzela, ale obiekt "szczegółowy", który go przekazuję, nie jest dostępny.Niestandardowy identyfikator niestandardowy JavaScript nie jest przekazywany
Oto kod, którego używam do tworzenia i wysyłania zdarzenia;
var double_tap = new CustomEvent("doubleTap", {
detail: {
hello: 'world'
},
bubbles: true,
cancelable: true
});
this.dispatchEvent(double_tap);
Następnie używam jquery, aby dodać detektor zdarzeń do ciała;
$('body').on('doubleTap', function(e) {
console.log(e);
});
Robi ogień, a dziennik konsola się dzieje, ale niestety dziennik wyświetla tylko szczegóły zdarzenia w tym pęcherzyków i właściwości nieodwołalnego, ale nigdy „” szczegół obiektu, tak aby informacje te nie są dostępne.
Oto przykład jsbina, na podstawie którego utworzę zdarzenie na zdarzeniu kliknięcia ciała, aby można było zobaczyć konsolę; http://jsbin.com/looseroots/6
Chciałbym móc uzyskać dane z obiektu "detail", gdy zdarzenie zostanie uruchomione. Co ja robię źle? Ja testowałem to w Chrome i Safari na iOS
Tak prosta, ale żadna z dokumentacji, którą mogłem znaleźć wyjaśniając metodę CustomEvent, nie wskazała tego. Dziękuję Ci! – Joel
To naprawdę nie jest problem CustomEvent, Wierzę, że jQuery opakowuje zdarzenie DOM w swój własny obiekt Event .. (nie jestem ekspertem jQuery, więc mógłbym się mylić) – lostsource
Może również dodać argumenty danych do programów obsługi jQuery, jeśli wolisz zachować wszystkie kod w dziedzinie jQuery. '$ ('body'). on ('doubleTap', function (e, arg1, arg2)' – charlietfl