Soy relativamente nuevo en la implementación de JQuery en todo un sistema, y estoy disfrutando la oportunidad.Llamar al método jQuery desde el atributo onClick en HTML
me he encontrado con un problema que me encantaría encontrar la decisión correcta para.
Aquí está un ejemplo simple caso de lo que quiero hacer:
Tengo un botón en una página, y en el evento de clic Quiero llamar a una función jQuery he definido.
Este es el código que he utilizado para definir mi método (Page.js):
(function($) {
$.fn.MessageBox = function(msg) {
alert(msg);
};
});
Y aquí está mi página HTML:
<HTML>
<head>
<script type="text/javascript" src="C:\Sandpit\jQueryTest\jquery-1.3.2.js"></script>
<script language="javascript" src="Page.js"></script>
</head>
<body>
<div class="Title">Welcome!</div>
<input type="button" value="ahaha" onclick="$().MessageBox('msg');" />
</body>
</HTML>
(El código anterior muestra el botón, pero al hacer clic no hace nada.)
soy consciente de que podría añadir el evento click en el evento ready documento, sin embargo, parece más fácil de mantener a poner los eventos en el elemento HTML en su lugar. Sin embargo, no he encontrado una manera de hacer esto.
¿Hay una manera de llamar a una función jQuery en un elemento de botón (o cualquier elemento de entrada)? ¿O hay una mejor manera de hacer esto?
Gracias
EDIT:
Gracias por sus respuestas, parece que no estoy usando jQuery correctamente. Realmente me encantaría ver un ejemplo de un sistema que usa JQuery de esta manera y cómo se manejan los eventos. Si conoce algún ejemplo para demostrar esto, por favor hágamelo saber.
Mi objetivo subyacente para el uso de jQuery es ayudar a simplificar y reducir la cantidad de Javascript requerida para una aplicación web a gran escala.
Esta es una función de ejemplo, para demostrar el problema – Russell
OK ... He actualizado con un ejemplo que funciona utilizando su método preferido, tanto con o sin ámbito. – Dexter
Gracias @Dexter, que funcionó bien :) Tenga en cuenta que la versión 1.4.2 funciona, mientras que 1.3.2 no funcionará. – Russell