es ist also ziemlich schwer in einen Satz zu setzen, aber hier ist ein einfaches Beispiel:Wie kann ich einen Unschärfe-Listener ignorieren, wenn in jQuery ein anderer Klick-Listener verwendet wird?
<html>
<head>
<title>Example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
<!--
$(document).ready(function() {
$("#input").focus(function() {
$("#p").show();
}).blur(function() {
$("#p").hide();
});
$("#p").click(function() {
alert("Thanks for clicking me");
});
});
-->
</script>
</head>
<body>
<input type="text" id="input" />
<p id="p" style="background:red;display:none"">
Click me.
</p>
</body>
</html>
Grundsätzlich, wenn Sie an einem Eingang konzentrieren ein Absatz erscheint und wenn der Fokus verschwommen den Absatz verschwinden. Es gibt jedoch auch einen Klick-Listener für den Absatz. Wenn Sie darauf klicken, wird eine Warnmeldung angezeigt. Das Problem ist, wenn ich das Eingabefeld fokussiere, erscheint der Absatz [erwartet], aber wenn ich auf den Absatz klicke, wird die Unschärfe des Eingabefelds zuerst registriert, so dass der Absatz ausgeblendet wird, bevor der Browser erkennt, dass ich darauf geklickt habe.
Sie nicht benötigen Sie die $ ("# p") ausblenden() in der Klick-Funktion dann.? – mikesir87
@ mikesir87 Hängt davon ab, was er machen möchte, wenn '# p' geklickt wird. Aber höchstwahrscheinlich ja. – PetersenDidIt
Klingt gut! Ich wusste nichts über das Event-Objekt, das war ziemlich nützlich. Vielen Dank! – mikesir87