Pereiti prie turinio

[SOLVED] JavaScript klausimas


Rekomenduojami pranešimai

Taigi vel tas galvos skausmas - JavaScript(asmeniskai man). Uzduotis yra tokia, kad paspausdamas ant elemento, jis(tas elementas) turi pasikeisti ir vietai jo turi atsirasti kitas toks pats HTML kodas tik tarkim kitas skaicius. O problema tai, kad pasikeitus tam HTML kodui antra karta nefiksuoja paspaudimo. Stai kodas:

 

<html>
<head>
<title>Kodel nveikia?!</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
	$(document).ready(function() {
		$("#change .thisC b").on("click", function() {
			var id = parseInt($("#change .thisC").attr("id")) + 1;
			$("#change").html("<div id='" + id + "' class='thisC'>It's changable, and the id is: <b>" + id + "</b></div>");
			$("#change .thisC").attr("id", id);
			alert("CHANGED");
		});
	});
</script>
</head>
<body>
<div id="change">
	<div id="1" class="thisC">It's changable, and the id is: <b>1</b></div>
</div>
</body>
</html>

 

Nors tokius atveju ir turetu f-cija "on"("live" f-cijos pakaitalas) daryti savo darba, ar as klystu?

 

Problema isspresta.

 

Selectorius turejo atrodyti taip:

 

$(document).on("click", "#change .thisC b", function() {
   // ...
});

 

P.S. Idomus dalykas, bandziau isspresti sia problema nemaza laika, tik parasiau tema - magiskai atsirado sprendimas(t.y. atradau pats) ir taip jau ne pirma karta ^^

Redagavo f34r
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nors šiame forume pradėjau lankytis paskutiniu metu dažnai ir vis labiau susidarau įspūdį kad dauguma forumiečių rašo tik tam kad rašytų.

 

karolisgud: Pirma pasidomėk ką rašai, prieš rašydamas.

 

1. Dalykas atkreipk dėmesį kokią jQuery versiją jis naudoja. Jei nesimato rašau: 1.8.3

2. Pasiskaitinėk dokumentaciją: As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.

f34r:

http://jsbin.com/welcome/70279/edit

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dekui Min2liz, bet man reikejo pakeisti visa diva (.thisC) ir kai tai padarai per nauja isiraso tas b elementas ant kurio yra spaudziama ir tuo atveju jis kazkodel neveike(pasikeitus), siektiek pakeitus f-cija pradejo veikti. Vat labai naudingos eilutes:

 

$("a.offsite").live("click", function(){ alert("Goodbye!"); });                // jQuery 1.3+
$(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); });  // jQuery 1.4.3+
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); });        // jQuery 1.7+

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nors šiame forume pradėjau lankytis paskutiniu metu dažnai ir vis labiau susidarau įspūdį kad dauguma forumiečių rašo tik tam kad rašytų.

 

karolisgud: Pirma pasidomėk ką rašai, prieš rašydamas.

 

1. Dalykas atkreipk dėmesį kokią jQuery versiją jis naudoja. Jei nesimato rašau: 1.8.3

2. Pasiskaitinėk dokumentaciją: As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.

 

f34r:

 

http://jsbin.com/welcome/70279/edit

 

Aš tik uždaviau klausimą.. Kažkada naudojau live ir viskas veikė, todėl ir paklausiau kodėl jis netinka.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nors šiame forume pradėjau lankytis paskutiniu metu dažnai ir vis labiau susidarau įspūdį kad dauguma forumiečių rašo tik tam kad rašytų.

 

karolisgud: Pirma pasidomėk ką rašai, prieš rašydamas.

 

1. Dalykas atkreipk dėmesį kokią jQuery versiją jis naudoja. Jei nesimato rašau: 1.8.3

2. Pasiskaitinėk dokumentaciją: As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.

 

f34r:

 

http://jsbin.com/welcome/70279/edit

 

Aš tik uždaviau klausimą.. Kažkada naudojau live ir viskas veikė, todėl ir paklausiau kodėl jis netinka.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...