سؤال

عندما نستخدم JavaScript موجه مربع شيء مثل هذا

 var ur_name = prompt("Enter Name");

سيكون لدينا نوعان من القيم في هذه الحالة:

  1. القيمة التي أدخلها المستخدم.
  2. يمكن أن تكون القيمة الثانية فارغة، عند الضغط على المستخدم إلغاء أو عندما يضغط هرب مفتاح. حق...!

الآن المشكلة التي تواجهها هي: كيفية التعامل مع مفتاح الهروب في البرنامج المساعد مرتجل رابط النص

رمز يعمل تماما عندما يدخل المستخدم بعض القيمة أو اضغط على زر إلغاء

<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>

السبب في هذا السيناريو أحصل على إلغاء أو موافق للأحداث المضغوطة على زر المفتاح، ولكن عند الضغط على المستخدم هرب مفتاح mycallbackform. لن يتم استدعاؤه ...

هل كانت مفيدة؟

المحلول

في الماضي، استخدمت دائما وظيفة JQueryui .Dialog لتوفير حوارات المستخدم التي لها closeOnEscape اختيار. فيhttp://jqueryui.com/demos/dialog/)

إذا كان لديك قلبك في استخدام REMOROMPTU، فينبغي أن يكون من السهل إلى حد ما تنفيذ بعض التعامل مع الحدث باستخدام Keyup لوظيفة JQuery -

$(document).keyup(function(event){
    if (event.keyCode == 27) {
        $(".prompt").hide();
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top