09/09/2015, 09:02
|
| | | Fecha de Ingreso: mayo-2005 Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años, 6 meses Puntos: 16 | |
Respuesta: como modificar el siguiente script para ahorrar muchas lineas de codigo Buenas,
Si quieres haz de poner:
$("#" + oid).on....
Ten en cuenta, que el selector de ID es así: $("#MiId")
Pero eso, o poner lo que te dije antes, es exactamente lo mismo, pues estás usando el objeto que tiene la clase "letraenlace"...
Cuando haces el:
$(".letraenlace").click(function()
{
var oid=$(this).attr("id");
//console.log(oid);
$(oid).on("click", mostrarLogin);
}
Es lo mismo que hacer:
$(".letraenlace").on("click", mostrarLogin);
Pues cada "letraenlace" va a llamar su propio mostrarLogin...
Haciendo lo que dices, lo que haces es:
Click en EsteEnlace={
var oID= EsteEnlace.dimeSuID;
NuevoClick en EsteEnlace = mostrarLogin;
}
Básicamente, dentro de un CLICK le estás diciendo que al hacer click sobre el enlace, cambie su CLICK a la llamada de una variable... No tiene sentido compañero... Ejemplo.... DOM:
<a class="letraenlace" id="uno">click</a>
<a class="letraenlace" id="dos">click</a> Cargas el JS:
<a class="letraenlace" id="uno" OnClick='$(".letraenlace").click(function(){var oid=$(this).attr("id");$(oid).on("click", mostrarLogin);}'>click</a>
<a class="letraenlace" id="dos" OnClick='$(".letraenlace").click(function(){var oid=$(this).attr("id");$(oid).on("click", mostrarLogin);}'>click</a> Haces CLICK en ID=uno:
<a class="letraenlace" id="uno" OnClick='mostrarLogin'>click</a>
<a class="letraenlace" id="dos" OnClick='$(".letraenlace").click(function(){var oid=$(this).attr("id");$(oid).on("click", mostrarLogin);}'>click</a>
Hasta que no haces otra vez click en el elemento ID=uno, no se ejecuta el mostrarLogin...
Esto, es lo que estás haciendo al ejecutar ese código.
Un saludo!
__________________ Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core) |