在iOS目标Web应用程序中模拟“输入清除”图标

时间:2011-11-15 00:48:26

标签: javascript ios web-applications

原生iOS应用在输入字段中包含“清除按钮”。他们在保持现场焦点的同时清除文本。

我正在开发一个专门针对iOS设备的网络应用,并且没有任何运气模仿这种行为。如果我使用点击事件覆盖另一个元素以清除&重新聚焦输入,iPad忽略了焦点调用,因为它会在模糊事件触发输入的瞬间(点击事件之前)开始隐藏键盘。因此,用户必须在单击清除图标后手动重新聚焦字段才能取回键盘。

在没有软键盘决定消失的情况下,有没有办法在叠加图像/图标上抓取触摸事件,或者更好的方法呢?

1 个答案:

答案 0 :(得分:1)

daxelrod上面的第二条评论让我得到了解决方案:在清晰图标上捕捉mousedown事件,停止它并清除输入。因此,“点击”永远不会发生,输入也不会失去焦点。

我认为在任何鼠标事件(向下,向上,点击)之前在浏览器级别触发了blur(),所以我没想到要尝试它。很高兴看到我错了!

在Mootools风味的JS中:

document.id('inputClearImage').addEvent('mousedown', function (e) {
    e.stop();
    document.id('input').set('value', '');
});