pouziti snippetu + nasledne vyuziti js
- 14113
- Člen | 33
Ahoj,
rekneme ze mam par tabu na jedne strance a kdyz kliknu na jeden z nich tak se
snippetem vykresli. Mam problem v tom ze pokud chci pouzivat jquery k praci
s vykreslenym elementem tak nefunguje. Jedine jak mi to jde je ze zabalim i js
do snippet a prekleslim i ten.
Muzu se zeptat jestli neni i jina cesta?
priklad
sablona
<?php
{snippet table}
<div id="zkouska">ahoj</div>
{snippet}
<script>
$("#zkouska").click(function (){ hide();});
</script>
?>
Editoval 14113 (12. 7. 2010 18:48)
- 14113
- Člen | 33
Jeste dotaz, kdyz napisu:
<script>
$("#zkouska").live("click",function(event){
event.preventDefault();
return FALSE;
});
</script>
tak mi stejne po kliknuti odkaz probehne i kdyz mam return FALSE. Nevite co
s tim?
Pri $(„#zkouska“).click(function())… to funguje
Editoval 14113 (12. 7. 2010 21:49)
- Lopata
- Člen | 139
To je divné. Jelikož je ale javascript case sensitive, platí:
<script>
false != FALSE;
</script>
atd. (Neptej se proč, taky mi to přijde divné…). Prostě logická
hodnota může být jen false
nebo true
;
Tohle ti vyhodí FALSE is undefined
, považuje to že FALSE bude
nějaká proměnná. Dej prostě return false;
(lowercase) a mohlo
(mělo!) by to fungovat.
- Cifro
- Člen | 245
Akurát dnes som o tom čítal. V tvojom kóde sa mi nepozdáva to
preventDefault()
a return false
.
So in other words (http://css-tricks.com/…ent-default/):
function() {
return false;
}
// IS EQUAL TO
function(e) {
e.preventDefault();
e.stopPropagation();
}
Edit: Jeden komentár pod tým člankom to vysvetľuje viac:
If there is javacsript error in page, using return false browser will perform
default action. That can be avoid using preventDefault()
Example:
$('a').click( function(e){
$(this).css("background", "green");
err(); // err is not defined, so javascript will throw error, and browser will ignore rest of the code (return false). Browser will perform default action.
return false;
});
$('a').click( function(e){
e.preventDefault();
$(this).css("background", "green");
err(); // err is not defined, so javascript will throw error, and browser will ignore rest of the code. We already called preventDefault() so browser will not perform default action.
});
Editoval Cifro (12. 7. 2010 23:00)