Impromptu-Plugin für Alertbox
-
18-09-2019 - |
Frage
Wenn wir verwenden Javascript Prompt Box so etwas wie dieses
var ur_name = prompt("Enter Name");
Wir werden zwei Arten von Werten in diesem Fall haben:
- Wert eingegeben durch den Benutzer.
- Zweiter Wert kann NULL sein, wenn der Benutzer drücken Sie CANCEL oder wenn er drückt ESCAPE Key. Richtig ...!
Jetzt Das Problem, das ich bin Bewurf ist: Wie in Impromptu-Plugin von JQuery Link-Text
-Code ausgeführt wird perfekt, wenn Benutzer Abbrechen-Taste einen Wert ODER drücken Sie die Eingabetaste wird
<script type='text/javascript'>
function test()
{
var txt = 'Please enter your name:<br /> <input type="text" id="alertName" name="alertName" value="name here" />';
$.prompt(txt,{
callback: mycallbackform,
buttons: { OK: 'Hello', Cancel: 'Good Bye' }
});
}
function mycallbackform(v,m,f){
if(v=="Hello")
$.prompt("Stack Over flow User:"+' ' + f.alertName);
}
</script>
Ursache in diesem Szenario Ich erhalte Abbrechen oder OK-Taste gedrückt Ereignisse, aber wenn Benutzer drücken Sie ESCAPE Taste mycallbackform wird nicht genannt werden ...
Lösung
In der Vergangenheit habe ich immer die jQueryUI .dialog Funktion Benutzerdialoge zur Verfügung zu stellen, die die closeOnEscape
Option hat. ( http://jqueryui.com/demos/dialog/ )
Wenn Sie Ihr Herz auf improvisierte Verwendung sollte es ziemlich einfach, ein Ereignis zu implementieren Umgang mit der jQuery-Funktion keyup mit -
$(document).keyup(function(event){
if (event.keyCode == 27) {
$(".prompt").hide();
}
});