Estoy tratando de pasar una variable a una función jQuery en línea (es decir, usando un onMouseOver="function();"
dentro del enlace real (que es una etiqueta de área desde un mapa de imagen)).jQuery - Llamar a una función en línea
La función solo se invoca si la coloco antes de la línea $(document).ready(function(){
, pero esto causa todo tipo de problemas con jQuery.
Todo lo que quiero es una simple etiqueta (como <area shape="circle" coords="357,138,17" onMouseOver="change('5');" id="5" />
para poner en marcha una función que está contenida dentro del cuerpo normal de jQuery de código.
Muchas gracias por cualquier ayuda que pueda ofrecer.
Para ilustrar el punto, las siguientes obras:
<script type="text/javascript">
function myfunction(x) { alert(x); //Alerts 2
}
</script>
<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>
pero el siguiente no lo hace
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function myfunction(x) { alert(x); //Nothing happens
}
}
</script>
<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>
Esa es una gran respuesta. Escribe sobre myfunction siendo una variable local. ¿Podría explicar cómo las funciones pueden ser variables? Muchas gracias. –
En JavaScript, * todo * es una variable (o, usando un lenguaje más tradicional, todo es * datos *), incluidas las funciones.Cuando escribes 'function f() {};' esencialmente estás usando un alias para 'var f = function() {};' Esto es lo que hace posible usar funciones "anónimas" en JavaScript. En otros idiomas, puede escribir ya sea 'int x = 2; f (x); 'o simplemente' f (2) '. En JavaScript, dado que las funciones son datos como todo lo demás, puede escribir 'var foo = function() {}; f (foo); 'o simplemente' f (function() {}); 'Entender esto es la clave para entender JavaScript. – VoteyDisciple