Kod PHP:
<a id="a$id" onclick="check($id,1)" href="javascript:void(0)" class="black">Qualify</a>
Chcę usunąć, onclick="check($id,1)
aby link nie mógł zostać kliknięty lub „ check($id,1)
nie zostanie uruchomiony . Jak mogę to zrobić z JQuery?
Kod PHP:
<a id="a$id" onclick="check($id,1)" href="javascript:void(0)" class="black">Qualify</a>
Chcę usunąć, onclick="check($id,1)
aby link nie mógł zostać kliknięty lub „ check($id,1)
nie zostanie uruchomiony . Jak mogę to zrobić z JQuery?
Old Way (przed 1.7):
$("...").attr("onclick", "").unbind("click");
Nowy sposób (1.7+):
$("...").prop("onclick", null).off("click");
(Zastąp ... selektorem, którego potrzebujesz.)
Removing an inline onclick event handler using .removeAttr() doesn't achieve the desired effect in Internet Explorer 6, 7, or 8. To avoid potential problems, use .prop() instead
.prop()
również dla IE11.Wiem, że to dość stare, ale kiedy zagubiony nieznajomy znajdzie to pytanie szukając odpowiedzi (tak jak ja), to jest to najlepszy sposób, aby to zrobić, zamiast używać removeAttr ():
Cytując oficjalne doku jQuerys :
źródło
<span onlick="method()">sometext>/span>
Wydarzenie jest w pełni niezwiązane i działa świetnieUsuwanie
onclick
mieniaZałóżmy, że dodałeś zdarzenie kliknięcia w tekście, na przykład:
Następnie możesz usunąć wydarzenie w ten sposób:
Usuwanie
click
detektorów zdarzeńZałóżmy, że dodałeś zdarzenie kliknięcia, definiując odbiornik zdarzeń, na przykład:
... lub tak:
Następnie możesz usunąć wydarzenie w ten sposób:
Usuwanie obu
Jeśli nie masz pewności, w jaki sposób wydarzenie zostało dodane, możesz połączyć oba, na przykład:
źródło
jeśli używasz jquery 1.7
jeszcze
źródło
Jest to bardzo łatwe dzięki removeAttr.
źródło
Po tak ciężkich próbach z bind, unbind, on, off, click, attr, removeAttr, prop, sprawiłem, że zadziałało. Mam więc następujący scenariusz: W moim html NIE dołączyłem żadnych programów obsługi onclick.
Następnie w moim JavaScript użyłem następującego, aby dodać wbudowaną obsługę onclick:
Aby usunąć to później z Javascript, użyłem:
W ten sposób pracowałem w przypadku dynamicznego łączenia i usuwania powiązań kliknięć w Javascript. Pamiętaj, aby NIE wstawiać żadnych funkcji obsługi onclick w swoich elementach.
źródło
.on('click', myFunction)
(zauważ, że niemyFunction
ma tego w cudzysłowach), a później,.off('click')
Co jeśli zdarzenie onclick nie jest bezpośrednio na elemencie, ale z elementu nadrzędnego? To powinno działać:
źródło
Spróbuj tego, jeśli usuniesz wiązanie zdarzenia onclick według identyfikatora Następnie użyj:
Spróbuj tego, jeśli usuniesz wiązanie zdarzenia onclick według klasy. Następnie użyj:
źródło