大佬教程收集整理的这篇文章主要介绍了jquery – iPad网络应用程序:在ajax调用后阻止输入焦点,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
简而言之,我有一个为iPad构建的网络应用程序 – 它可以正常工作.但是,我有一个Ajax表单,它也应该提交它.但是,在回调和清除/重置表单后,“iPad”会自动关注输入并再次打开键盘.这远非理想.
我设法破解了它,但它仍然不完美.下面的代码在我的ajax回调上运行,它可以正常工作 – 除了键盘的快速打开和关闭之外.
请注意,除非我使用setTimeout,否则我的代码将无效.另外,根据我的理解,document.activeElement.blur();只有在有点击事件时才有效,所以我通过js触发了一个.
换句话说,我如何防止键盘在AJAX上调用WEB应用程序后重新启动?
PS:Ajax调用工作正常,不能在iPad上的Safari中打开键盘,只是Web应用程序模式.
这是我的代码:
hideKeyboard: function () { // iOS web app only,iPad IS_IPAD = navigator.userAgent.match(/iPad/i) != null; if (IS_IPAD) { $(window).one('click',function () { document.activeElement.blur(); }); setTimeout(function () { $(window).trigger('click'); },500); } }
也许这与我如何清理表单有关,所以这就是代码.注意,所有输入都有tabindex =“ – 1”.
clearForm: function () { // text,textarea,etc $('#campaign-form-wrap > form')[0].reset(); // checkBoxes $('input[type="checkBox"]').removeAttr('checked'); $('#campaign-form-wrap > form span.custom.checkBox').removeClass('checked'); // radio inputs $('input[type="radio"]').removeAttr('checked'); $('#campaign-form-wrap > form span.custom.radio').removeClass('checked'); // selects $('form.custom .user-generated-field select').each(function () { var selection = $(this).find('option:first').text(),labelFor = $(this).attr('name'),label = $('[for="' + labelFor + '"]'); label.find('.selection-choice').html(selection); }); optin.hideKeyboard(); }
以上是大佬教程为你收集整理的jquery – iPad网络应用程序:在ajax调用后阻止输入焦点全部内容,希望文章能够帮你解决jquery – iPad网络应用程序:在ajax调用后阻止输入焦点所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。