Der Aufruf eines Skripts, wenn die Schaltfläche geklickt
-
27-09-2019 - |
Frage
In einer jquery mobilen Webseite, ich möchte ein Skript aufrufen, definiert in Script-Tags im HEAD-Abschnitt des jsp.
<head>
<link rel="stylesheet" type="text/css" href="jquerymobile/jquery.mobile-1.0a1.min.css" />
<script type="text/javascript" src="jquerymobile/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="jquerymobile/jquery.mobile-1.0a1.min.js"></script>
<script>
$("#button").click( function()
{
alert('button clicked');
}
);
</script>
</head>
<body>
<html:errors/>
<div data-role="page" data-theme='a'>
<div data-role="header">
<h1>jquerymobile</h1>
</div>
<div data-role="content">
<div id="button" data-role="button">Click on button</div>
</div>
</div>
</body>
Wenn die Button geklickt haben , ich möchte, dass die alert gezeigt werden. Aber es passiert nichts, wenn die Schaltfläche geklickt wird.
Kann mir jemand sagen, wo ich falsch gehe?
EDIT1:
Der folgende Code die Warnung bringt in Firefox & Opera Desktop-Browser .
$(document).ready(function() {
$("#vbutton").click(function() {
alert("clicked");
});
});
<a id="vbutton" data-role="button">Click Button</a>
Gibt es Gründe, warum die gleiche nicht Arbeit mit Opera Mobile & Fennec Browser - wo es zeigt den Fehler beim Laden der Seite Dialog ??
Lösung 2
Das Problem war wegen Debug-Anweisungen wie
Debugger;
debug.info (....)
, die von Firefox / Firebug verstanden wurden, waren aber Probleme verursacht in Fennec & Opera Mobile Browser .
Andere Tipps
Ihr Problem ist, dass Sie für $('#button')
suchen, bevor es ... existiert
Versuchen Sie, Ihren jQuery-Code in einem $(document).ready(function(){ ... })
oder seine Stenografie alias jQuery(function(){})
Die andere Option ist Ihre Initialisierung des Click-Ereignis auf die Schaltfläche aufzunehmen, bis der #button
im DOM existiert. Mit anderen Worten, können Sie Ihr <script>
Tag an den unteren Rand der Seite bewegen und es sollte funktionieren.