我正在建立一个带有“清除值”按钮的表单字段 - 就像在iOS上有一个小小的“X”图标,您可以点击清除搜索字符串。输入字段清除按钮导致模糊事件 - 如何避免
我的问题是:我使用该字段的模糊事件来对输入格式进行错误检查,并且我的“X”图标实现总是触发模糊事件。我很难过:如果我把图标作为背景图像放在输入字段中,我不再有点击目标,并且如果我在字段顶部使用标准div或img,当然,模糊触发器。
我使用jQuery,但这可能是一个通用的CSS/JavaScript问题。
例如这里接受的解决方案:Clear icon inside input text 这是原始意图的一个很好的例子,但这也会在您附加模糊事件后立即触发模糊事件。
UPDATE: 这似乎是最好的办法是使用错误检查功能 - 但我不喜欢它,所以我一直在寻找......原来我不知道在HTML5的contenteditable
属性。
除了不使用表单数据的表单字段以及忘记不能使用HTML5的旧式浏览器的显而易见的可访问性问题之外,为什么不重新创建带有contenteditable div标签的输入字段呢?这里
模糊火灾,因为你删除焦点,当你点击按钮,你能指望什么? – epascarello 2013-03-25 17:55:46
如果你使用背景图片,你仍然有一个点击目标...这只是不理想的使用。您必须找出输入点击的位置,如果它位于特定边界内(“清除”按钮所在的位置),请清除文本。否则,这是一个正常的点击 – Ian 2013-03-25 17:58:29