Skąd mam wiedzieć w moim kodzie aktywującym, który został wywołany preventDefault
?jQuery: Jak korzystać z event.preventDefault() z niestandardowymi zdarzeniami?
$(document).trigger('customEvent', params);
if (/* ??? */)
doDefaultActions();
Skąd mam wiedzieć w moim kodzie aktywującym, który został wywołany preventDefault
?jQuery: Jak korzystać z event.preventDefault() z niestandardowymi zdarzeniami?
$(document).trigger('customEvent', params);
if (/* ??? */)
doDefaultActions();
spust() może również podjąć obiekt zdarzenia, więc jeśli można utworzyć obiekt zdarzenia, tak jak poniżej:
var event = jQuery.Event("customEvent");
$(document).trigger(event);
następnie można sprawdzić po spust, aby zobaczyć if preventDefault() został wywołany w następujący sposób:
var prevented = event.isDefaultPrevented();
Wow, to fajne. Dowiedz się czegoś każdego dnia! – Pointy
Tak, dzisiaj nauczyłem się tego, sprawdzając na jQuery API. Wszyscy się uczymy dzisiaj! –
To nie wygląda na udokumentowane (przynajmniej na stronie api.jquery.com) - cóż, i tak nie mogę tego znaleźć. Dokumenty są teraz trochę lepsze, ale nadal żałuję, że nie zrobią tego jako wiki. [edytuj: ok Widzę to teraz w źródle !!] – Pointy
Do mojej wiedzy „preventDefault()” rozmowa jest o zapobieganiu rodzimych odpowiedzi przeglądarki, aby takie rzeczy jak kliknięć na znaczniki kotwicznych lub znakom w polach tekstowych. Po zakończeniu cyklu obsługi zdarzeń to koniec. W przypadku przygotowanych zdarzeń nie wydaje mi się, żeby miało to jakikolwiek wpływ, ponieważ chodzi o system przetwarzania zdarzeń jQuery, a nie o natywną funkcjonalność przeglądarki.
Twój kod może ustawić gdzieś flagę, aby komunikować się ze "światem zewnętrznym".
[edytuj] ooh możesz spróbować, by przewodnik obsługiwał odwołanie do obiektu zdarzenia w miejscu, w którym kod zewnętrzny może go znaleźć, a następnie sprawdzać zewnętrznie za pomocą "isDefaultPrevented()". Nie wiem, czy to zadziała.
Jeśli pytasz jak się dowiedzieć, czy domyślny został zabezpieczony, przeznaczenie:
event.isDefaultPrevented()
Spowoduje to powrót „true” lub „false” na podstawie tego, czy preventDefault () został wywołany.
Zdarzenia niestandardowe nie mają pewnych domyślnych działań, które się zdarzają .. (są niestandardowe).
Z drugiej strony, jeśli chcesz, aby zatrzymać efekt propagacji tego wydarzenia dla innych następnie spojrzeć na triggerHandler
który nie pęcherzyki do hierarchii ..
jeśli jest to wydarzenie zwyczaj tam .. nie powinno być domyślną akcją .. –
Jest to nadal coś, co można wykorzystać w mechanizmie zdarzeń, jeśli przewodnik jest również używany do niestandardowych zdarzeń. –
Jeśli wydarzenie niestandardowe jest naprawdę niestandardowe, to co próbujesz zapobiec? Normalnie funkcja preventDefault jest używana, aby przeglądarka nie wykonywała normalnych czynności. Sama przeglądarka nie zna ani nie dba o niestandardowe zdarzenia. –