Avatar billede tosak Nybegynder
09. december 2008 - 01:15 Der er 1 kommentar

jquery og event binding

Hey alle,

Jeg har bygget en kalender i php og kalder den i en div..

<div id="kalCont">
<?php echo kalender::lavKalender(); ?>
</div>

Links til at gå frem/tilbage kommer også fra kalender klassen.

Mit problem er så at når jeg via jquery kalder næste måned ved click, forsvinder samme event.

Jeg har læst en del artikler og googlet en masse, endda været på jQuery's irc. Men har stadig ikke fået det til at virke.. Indtil videre ser det sådant ud (.updCal er class på de to frem/tilbage links):

$('.updCal').click(function(event){
    event.preventDefault();
    // loader i kalCont med linkets href
    $('#kalCont').load($(this).attr('href'));
}

Hvordan binder jeg en event på de nye frem/tilbage knapper?

På forhånd tak for hjælpen
Avatar billede olebole Juniormester
09. december 2008 - 10:34 #1
<ole>

Det skyldes meget sandsynligt det faktum, at jQuery er skrevet i tussegammel, uhensigtsmæssig og invalid kode. jQuery bruger således innerHTML til at indsætte elementer med - og udover at være oldnordisk og invalid så overskriver innerHTML programmatiske referencer og programmatisk satte event handlers:
    http://www.dengodekode.dk/artikler/DOM/no_innerhtml.php

Naturligvis kan jeg ikke være 100% sikker på, det er dér fejlen ligger ... kun 99,98%  ;o)

Desværre er det svært at finde gode, valide og hensigtsmæssige JavaScript- og/eller Ajax-libraries på WWW - så jeg kan ikke give dig andet alternativ end at skrive det selv. Jeg kander rigtig mange libs, men kan ikke anbefale ét eneste!  :o|

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester