Autor Zpráva
Kašess
Profil *
Dobrý den,

mám tento kód psaný pro jQuery, ale funkce blur mi nefunguje - alert se vůbec nezobrazí
		
$(function (){
			$("h1").dblclick(
				function() {
					$(this).replaceWith("<input type=\"text\" id=\"nadpis\" value=\""+$(this).text()+"\"/>");
			});	

			$("input").blur(function () {
         		alert($("#nadpis").val());
    		        });
					
		});


html je jen <h1>Něco</h1>
ah01
Profil
Trochu se nad tím zamysli. Ty po načtení stránky projdeš všechny inputy a nastavíš jim obsluhu onblur. Tou dobou, ale žádné inputy na stránce nemáš.
srigi
Profil
ah01
Heh, od toho je na prvom riadku $(function (){. Ta zabezpeci, ze sa akukolvek vnoreny kod spusti az po zostaveni DOM.

Kašess
Chyba bude asi v tom alert(). Skus si bud pozriet kod cez firebug konzolu alebo do alert() vloz na zaciatok iba obycajny string alert('pokus').
ah01
Profil
srigi
Přečti si to ještě jednou pozorněji. Viz „html je jen <h1>Něco</h1>“, ty tam vidíš nějaký input? Ten vznikne až ve chvíli, kdy se dvoj-klikne na h1. Tedy dlouho po tom co vznikla událost document ready.
Kašess
Profil *
Dobře pánové, děkuji vám,ale jak to mám tedy udělat :|
$(function (){
            $("h1").dblclick(
                function() {
                    $(this).replaceWith("<input type=\"text\" id=\"nadpis\" value=\""+$(this).text()+"\"/>");
            });    
              
        });
$("input").blur(function () {
                 alert($("#nadpis").val());
                    });


Tohle taky nefunguje:(
ah01
Profil
Kašess
http://jquery.jslab.net/zkousecka/#7992c777fc48a805524601e7b5cd834a

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: