0
我创建了一个文本字段组件,其中包含常规文本字段和旁边的清除(x)按钮。虚拟键盘在锚点上简单消失点击
这是加价:
<div class="input-clear">
<input type="email" name="user" placeholder="Email address" />
<a href="#">clear</a>
</div>
这是我用来初始化代码:
[].forEach.call(document.getElementsByClassName('input-clear'), function(el) {
var input = el.getElementsByTagName('input')[0],
a = el.getElementsByTagName('a')[0],
updateField = function() {
if (input.value.length) {
a.style.display = 'inline';
} else {
a.style.display = 'none';
}
},
clearField = function(event) {
event.preventDefault();
input.value = '';
input.focus();
updateField();
};
if (input && a) {
input.addEventListener('keyup', updateField, false);
input.addEventListener('change', updateField, false);
a.addEventListener('click', clearField, false);
updateField();
}
});
的clearField()
事件处理程序清空场,消除了清除按钮和然后再次聚焦文本字段。
问题
当点击了清除按钮,虚拟键盘简要地消失在模糊和焦点之间。是否可以始终保持键盘可见?
顺便说一句,我知道,当选择的全部文本,然后取出清除按钮不会消失,但我不是太担心那种情况下:)
如果您使用'touchstart'而不是'click',并且在输入失去焦点之前取消事件会发生什么? – 2013-05-06 04:06:25
@DaggNabbit那么,密封交易:)你想写它作为一个答案? – 2013-05-06 04:11:18
当然,为什么不:) – 2013-05-06 04:12:33