Mai mult
jQuery dezactiva un link
Oricine știe cum să dezactivați un link în jquery FĂRĂ a utiliza return false;
?
În mod special, ceea ce am'm încercat să fac este de a dezactiva link-ul unui articol, se efectuează un clic pe ea folosind jquery care declanșează unele lucruri, apoi re-activarea că link-ul astfel încât, dacă-l's apasat din nou funcționează ca implicit.
Multumesc. Dave
UPDATE
Aici's cod. Ceea ce trebuie să facă după .extins
de clasă a fost aplicat este de a re-activa link-ul dezactivat.
$('ul li').click(function(e) {
e.preventDefault();
$('ul').addClass('expanded');
$('ul.expanded').fadeIn(300);
//return false;
});
276
16
Care va preveni comportamentul implicit de un hyperlink, care este de a vizita specificate href.
De jQuery tutorial:
Dacă vrei să
preventDefault()
numai dacă o anumită condiție este îndeplinită (ceva ce este ascuns, de exemplu), ai putea testa vizibilitatea ul cu clasa de extins. Dacă acesta este vizibil (de exemplu, nu ascuns) link-ul ar trebui să foc, ca de obicei, ca în cazul în care declarația nu va fi intrat, și, astfel, comportamentul implicit nu vor fi prevenit:Încercați acest lucru:
EDIT
Din codul actualizat:
Pentru alții care au venit aici prin intermediul google ca mi - aici's o altă abordare:
Amintiți-vă: nu numai că aceasta este o clasă css
dar, de asemenea, aceste două
astfel încât să puteți adăuga cu ușurință și elimina alte clase cu jQuery. Nu este nevoie să atingeți href...
Îmi place jQuery! ;-)
Aici este o alternativă css/jQuery soluție pe care am prefera pentru concizie și minimizat scripting:
css:
jQuery:
Puteți elimina click pentru link-ul de următoarele;
Puteți re-activați link-ul de următoarele,
Nu puteți utiliza 'cu handicap' proprietate pentru link-uri.
Dacă te duci href traseu, puteți să-l salvați
Pentru a dezactiva:
Apoi re-permite utilizarea:
Într-un caz am avut de a face în acest fel pentru că faceți clic pe evenimente au fost deja legat în altă parte și nu am avut nici un control asupra ei.
Eu folosesc întotdeauna acest lucru în jQuery pentru dezactivarea link-uri
html link-ul de exemplu:
utilizați această în jQuery
adăugați acest la css :
Fav meu în "checkout pentru a edita un element și pentru a preveni -wild wild west clicuri oriunde - în timp ce într-o casă" funcții
Deci, dacă vreau ca toate link-uri externe într-o a doua acțiune toolbar ar trebui să fie dezactivat în timp ce în "edit-mode" așa cum este descris mai sus, am'll a adăuga în funcția de editare
Link-ul de exemplu după incendiu:
Și acum PUTEȚI folosi cu handicap proprietate pentru link-uri
Noroc!
Ar trebui să găsim răspuns aici.
Multumesc @Va și @Matt pentru această soluție elegantă.
puteți ascunde și afișa link-ul ca iti place
Doar declanșare lucruri, setați pavilion, return false. Dacă flag este setat - nu face nimic.
unbind()
s-a depreciat în jQuery 3, folosi
pe () metoda în loc:Aceasta funcționează și pentru link-uri care au atributul onclick set inline. Acest lucru, de asemenea, vă permite să îndepărtați mai târziu "return false" în scopul de a permite.
Știu că nu e't cu jQuery dar puteți dezactiva un link cu un simplu css:
HTML va arata ca
Doar folosi
$("o").prop("cu handicap", true);
. Acest lucru va dezactiva de element de legătură. Trebuie să fieprop("cu handicap", true)
. Don't folosi attr("cu handicap", true)`