当软键盘可见时,无法单击按钮
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当软键盘可见时,无法单击按钮相关的知识,希望对你有一定的参考价值。
当文本输入元素具有焦点(并且软键盘可见)时,我无法直接单击提交按钮(清晰可见)。我必须首先关闭键盘(通过单击其他地方或键盘上的“完成”),然后单击提交按钮。
这是令人困惑的行为。当键盘可见时,我已经考虑过完全删除登录按钮,但这太混乱了(因为用户不会知道他们可以点击“Go”,或者会对登录按钮不断消失感到恼火)。
这只发生在ios上(不确定它是否仅限于iOS 7,但怀疑它可能是),而我正在使用Telirik AppBuilder作为我的应用程序。
function isTextInput(node) {
return ['INPUT', 'TEXTAREA'].indexOf(node.nodeName) !== -1;
}
document.addEventListener('touchstart', function(e) {
if (!isTextInput(e.target) && isTextInput(document.activeElement)) {
document.activeElement.blur();
}
}, false);
因为我使用<button>
标签,软键盘在不需要时弹出。我现在改变了所有的<table>
(在<td>
标签内,但可能是一个<div>
),里面有一个<img>
标签用于图标。为了使表看起来更像一个按钮,有一个用于颜色/边框的CSS类。提交区域位于顶部(也是)。
该页面可以在http://ask.stroudvoices.co.uk/进行检查
似乎android(假设iPad等)也将按钮视为另一种<input>
,而<table>
则被视为<body>
。
有时从旧技术中得到一个简单的答案!
我遇到了类似的问题。当我点击提交按钮并且我想保持软键盘可见时,我的需求是什么。这是我的解决方案。
submit.addEventListener('mousedown', function(e) {
e.preventDefault();
});
我给提交按钮一个mousedown事件,并阻止默认事件。它适用于大多数手机。但是在某些系统中发现ios 12.1.2不可用。就像问题所有者说的那样,我需要点击两次,一次隐藏键盘,第二次点击提交按钮。这困惑了我,我无法解决它。
以上是关于当软键盘可见时,无法单击按钮的主要内容,如果未能解决你的问题,请参考以下文章