我正在建立一個帶有「清除值」按鈕的表單字段 - 就像在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