jQuery zapewnia właściwość isTrigger
, która pozwala nam sprawdzić, czy wydarzenie było "prawdziwym zdarzeniem", czy zostało tylko "wyzwolone".Zdarzenie jQuery Trigger, ale nadal występuje event.isTrigger false
$(ele).on("click", function(e){
if(e.isTrigger){
// this event was only triggered, not a real event
}else{
// this was a real event
}
})
Dla celów testowania jednostek, czy jest jakiś sposób aby trigger
wydarzenie i jakoś zastąpić własność isTrigger
.. aw przypadku oddzwaniania nadal zachowują (poprzez isTrigger === false
), tak jakby to było prawdziwe zdarzenia kliknięcia. . próbował następujący kod:
var triggerClick = jQuery.Event("click", {
isTrigger:false,
data:{
isTrigger:false
}
ale nie wydaje się, aby przekazać je poprawnie ..
ogólnie jest to dobry pomysł, ale dlaczego na zmodularyzowanie kod tylko do testów, jeśli można to zrobić w lepszy sposób dla tego jedynego celu .. – adardesign
I twierdził, że ta metoda jest bardziej przejrzysta niż symulacja kliknięcia użytkownika. Spowoduje to usunięcie niepotrzebnego wyzwalania funkcji obsługi zdarzenia i umożliwi bezpośrednie wywołanie wymaganej funkcjonalności. Nie tylko jest to prawdopodobnie bardziej wydajne, ale łatwiejsze do odczytania. – cadrell0
Słyszę Cię! Dzięki i tak! – adardesign