Sono relativamente nuovo nell'implementare JQuery in un intero sistema e mi sto godendo l'opportunità.Chiamare il metodo jQuery dall'attributo onClick in HTML
Mi sono imbattuto in un problema che mi piacerebbe trovare la soluzione corretta per.
Ecco un semplice esempio caso di quello che voglio fare:
Ho un tasto su una pagina, e l'evento click voglio chiamare una funzione jQuery ho definito.
Ecco il codice che ho usato per definire il mio metodo (Page.js):
(function($) {
$.fn.MessageBox = function(msg) {
alert(msg);
};
});
E qui è la mia pagina 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>
(Il codice di cui sopra mostra il pulsante, ma facendo clic non fa nulla.)
Sono consapevole che potrei aggiungere l'evento click nell'evento pronto per il documento, tuttavia sembra più manutenibile mettere gli eventi nell'elemento HTML. Tuttavia non ho trovato un modo per farlo.
C'è un modo per chiamare una funzione jquery su un elemento pulsante (o qualsiasi elemento di input)? O c'è un modo migliore per farlo?
Grazie
EDIT:
Grazie per le vostre risposte, sembra non sto usando correttamente JQuery. Mi piacerebbe molto vedere un esempio di un sistema che utilizza JQuery in questo modo e come vengono gestiti gli eventi. Se conosci qualche esempio per dimostrarlo, per favore fammelo sapere.
Il mio obiettivo di base per l'utilizzo di JQuery è quello di semplificare e ridurre la quantità di javascript richiesto per un'applicazione Web su larga scala.
Si tratta di una funzione di esempio, per dimostrare il problema. – Russell
OK .. Ho aggiornato con un esempio che funziona usando il tuo metodo preferito - sia con scope che senza ambito. – Dexter
Grazie a @Dexter, ha funzionato bene :) Nota la versione 1.4.2 funziona, mentre la 1.3.2 non funzionerà. – Russell