Professional Documents
Culture Documents
off()elimina
on().
mouseovery mouseouta
una etiqueta de prrafo. Esta nueva asociacin tiene como accin poner o no un fondo de
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("p").on("mouseover mouseout", function(e){
$(this).toggleClass("over");
});
});
</script>
<style>
p { cursor: pointer;
padding-left: 20px;}
p.over { background: #9cf;}
</style>
</head>
<body>
<h3>Prrafo</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed
non risus. Suspendisse lectus tortor, dignissim sit amet,
adipiscing nec, ultricies sed, dolor.</p>
</body>
</html>
unbind()elimina
Este mtodo
bind()proviene
bind()ha
asociado a un evento.
al mtodo o
n()ms completo y ms competitivo.
El mtodo l
ive()que igualmente vinculaba un evento a un elemento se ha eliminado. Para
los que empiezan con jQuery no ser un problema ya que este mtodo ya no existe. Por el
contrario, para los desarrolladores que quieran actualizar una aplicacin jQuery ms antigua
Ejemplo
Mostremos un mensaje de aviso al hacer clic en un botn.
$("button").bind("click",function(){
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("button").bind("click", function(){
alert(Ha hecho clic en el botn.);
});
});
</script>
</head>
<body>
<button>Haga clic</button>
</body>
</html>
El evento c
lick est vinculado
(b
ind()) al botn (button).
alert("Ha hecho clic en el botn.");
});
La funcin asociada consiste en
mostrar
un
cuadro
de
aviso (
alert)en JavaScript clsico.
});
Fin del ready.
3. Delegar un evento
delegate(selector, evento, funcin)
Vincula una funcin a un evento para todos los elementos que correspondan al selector ahora y en el futuro.
Observe la introduccin del selector al que lleva el evento directamente en la sintaxis del mtodo.
Introducido en la versin 1.4 de jQuery, el mtodo delegate()era el ms utilizado para vincular un evento a un elemento. Sin embargo, la
documentacin ya no aconseja su utilizacin y recomienda el mtodo on
().
El mtodo
Ejemplo
undelegate()elimina
delegate().
Haciendo clic en el prrafo inicial o en el nuevo, la funcin aade un nuevo prrafo (que no exista en el fichero inicial). Y as sucesivamente
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("body").delegate("p", "click", function(){
$(this).after("<p>Otro prrafo</p>");
});
});
</script>
<style>
p { background: #9cf;
cursor: pointer;
padding-left: 5px;
margin : 7px 0 7px 0;}
</style>
</head>
<body>
<p>Haga clic!</p>
</body>
</html>
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("button").one("click", function(){
$("div").html("<b>Es intil pulsar ms veces.</b>");
});
});
</script>
<style>
div { width: 180px;
height: 30px;
margin-top:10px;
padding-left: 5px;
border: 1px solid black;}
</style>
</head>
<body>
Solo se permite 1 nico clic<br>
<button>Prueba</button>
<div></div>
</body>
</html>
$(document).ready(function(){
$("button").one("click", function(){
Al hacer clic en el botn, se ejecuta la
siguiente funcin.
Al hacer clic en el enlace, el script marca la casilla Checkbox, lo que desencadena un mensaje de alerta.
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function () {
$(input).on(click, function() {
alert(Checkbox marcado);
});
$(a).on(click, function() {
$(input).trigger(click);
return false;
});
});
</script>
<style>
a { color: black;}
</style>
</head>
<body>
<p><input type="checkbox"> Checkbox</p>
<p><a href="#">Desencadena el clic en el checkbox</a></p>
</body>
</html>
6. Al pasar el ratn
Esta funcin, propia de jQuery, agrupa los eventos onmouseovery onmouseoutde JavaScript o mouseovery mouseoutde jQuery, es decir,
cuando el cursor pasa por encima un elemento y sale de l.
hover(funcin 1, funcin 2)
El mtodo hover()de jQuery une dos eventos que se usan muy frecuentemente en el elemento seleccionado; cuando el cursor pasa por
encima y cuando sale de l.
Por tanto, este mtodo se ejecuta en dos partes. Cuando el cursor se sita sobre un elemento concreto, se ejecuta la primera funcin que se
ha pasado como parmetro. Cuando el cursor sale del mbito del elemento, se ejecuta la segunda funcin.
$("p").hover(function(){
$(this).addClass("hover");
},
function(){
$(this).removeClass("hover");
});
Al pasar el ratn por encima de los prrafos, se aade la clase hover. Cuando el cursor sale de la zona, se elimina la clase. Este mtodo
devuelve un objeto jQuery.
Ejemplo
El clsico, una imagen que cambia cuando el ratn pasa por encima de ella.
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<style>
.image { position: absolute;
top: 10px;
left: 10px;}
</style>
</head>
<body>
<div class="image">
<img src="polucion1.jpg" alt="">
</div>
</body>
</html>
<script>
$(document).ready(function () {
$(img).hover(function () {
this.src = polucion2.jpg;
},
function () {
this.src = polucion1.jpg;
});
});
</script>
El script jQuery se
siguiente manera:
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script">
$(document).ready(function () {
la
Lo detallamos a continuacin.
$(document).ready(function () {
$(img).hover(function () {
Se aplica un mtodo hover() a las
imgenes.
this.src = polucion2.jpg;
},
En primer lugar, al pasar el cursor por
encima,
se
carga
la
imagen
"polucion2.jpg",
modificando
el
atributo srcde la etiqueta <img>.
function () {
this.src = polucion1.jpg;
});
Despus, cuando el cursor sale de la
imagen, el script vuelve a la situacin
inicial.
});
Fin del script.
escribe de
$(img).hover(function () {
this.src = polucion2.jpg;
},
function () {
this.src = polucion1.jpg;
});
});
</script>
<style>
.image { position: absolute;
top: 10px;
left: 10px;}
</style>
</head>
<body>
<div class="image">
<img src="polucion1.jpg" alt="">
</div>
</body>
</html>