jquery – iPad网络应用程序:在ajax调用后阻止输入焦点

jquery – iPad网络应用程序:在ajax调用后阻止输入焦点,第1张

概述所以我已经四处阅读,不能为我的生活找到有效解决我的问题. 简而言之,我有一个为iPad构建的网络应用程序 – 它可以正常工作.但是,我有一个Ajax表单,它也应该提交它.但是,在回调和清除/重置表单后,“iPad”会自动关注输入并再次打开键盘.这远非理想. 我设法破解了它,但它仍然不完美.下面的代码在我的ajax回调上运行,它可以正常工作 – 除了键盘的快速打开和关闭之外. 请注意,除非我使用se 所以我已经四处阅读,不能为我的生活找到有效解决我的问题.

简而言之,我有一个为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();    }
解决方法 只是当我发布一个该死的赏金时,我想出来 – 错误的.去图…哈哈

对于遇到此问题的其他人,我在表单上有一个绝对的“覆盖”div(用作AJAX成功时显示的Thank You消息).显然,这导致键盘在AJAX调用后打开.出于UI原因,我将位置更改为position:fixed;在我最初的问题中强调的问题似乎神秘地解决了.很奇怪…很想知道为什么如果有人知道……残酷.

总结

以上是内存溢出为你收集整理的jquery – iPad网络应用程序:在ajax调用后阻止输入焦点全部内容,希望文章能够帮你解决jquery – iPad网络应用程序:在ajax调用后阻止输入焦点所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1083085.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存