Fórumok
Sziasztok!
JSP oldalba ágyazott commandButton click eseményét szereném meghívni JavaScriptőbl, de valamiért kétszer hívódik meg egymás után.
JSF kód:
JavaScript kód:
$(document).ready(function() {
$(window).keydown(function(e) {
$("#formKolcsonzes\\:btnVonalkodHozzadasa").trigger('click');
...
}
Nincs valakinek ötlete miért hívódhat meg kétszer egymás után?
Hozzászólások
Simán $(bla).click(); nem jó?
Én is erre tippelnék, részletek itt
Hali! Igy csak talalgatni lehet, nem tul gyumolcsozo. Rakd fel jsfiddle-re a problemat, es linkeld be ide, akkor szerintem tudnank segiteni.
Egyszer meghívódik a 'click' miatt, egyszer meghívódik a gomb lenyomása miatt.
$(windows).keydown(function(e){
e.preventDefault();
....
}
akadályozza ezt meg.
Gomb lenyomása miért okoz click eseményt? (Felteszem, hogy az illető nem direkt a gombon állva nyom space-t.) Vagy click miért okoz keydownt?
--
Jól van no elírtam, nem 'click', hanem 'keydown'. Ettől még nálam is kétszer hívódik meg. Sorry.
Hm, jó kis bubbling effect.
http://blog.67developer.hu/javascript_es_a_return_fals/
---------------------------------------
Devmeme - fejlesztői pillanatok
Tetszik a leírás, elég érthető. Köszi.
Ha keydownból akar clicket csinálni, és a keydown default működése nem okoz clicket, akkor a preventDefault nem fog segíteni rajta. A bubbling/capture meg azt jelenti, hogy több helyen és két stádiumban tud feliratkozni ugyanarra az eseményre, de egy feliratkozás akkor is csak egyszer lesz meghívva egy eseményre.
--
Tippelni én is tudok, pl kétszer van ready és kétszer iratkozol fel. De tippelgetés helyett javaslom Chrome devtools vagy hasonló debug eszköz használatát, ami kétséget kizáróan megmondja, honnan jön az esemény.
--