這裏jQuery的.change事件不工作是我的問題:爲什麼如我所料
我有一個選擇標記有兩個選項 - 「你好」和「世界」
HTML
<select>
<option> Hello </option>
<option> World </option>
</select>
在IE,當你選擇一個選項,併成爲所選擇的選項藍色高亮保持,直到你點擊別的地方選擇標記之外。 (在Firefox中,它不是這樣)
所以我寫了一個腳本,當選擇一個選項時,從元素中移除焦點。
腳本
$('select').change(function() {
$(this).blur();
但還是一個小問題留下: 如果我選擇你好,然後獲得您好選項 - 焦點仍將和藍色高亮顯示。但是,如果我選擇你好,然後世界選項-everything工作..
我讀到,對於選擇菜單,更改事件發生時,選擇一個選項!!!但爲什麼該選項必須不同於以前選擇觸發改變事件。我希望你明白我的英語不太好
這裏JS例子 - 請測試它在IE TEST JSFIDDLE EXAMPLE
['更改事件在其值更改時發送給元素](http://api.jquery.com/change/)。在你描述的有問題的情況下,價值似乎並沒有真正改變。 – Boaz 2013-03-03 09:31:43
@Boaz,「更改事件發送到一個元素,當它的值改變。」我知道這是jQuery文檔的直接引用,但它有很多問題,其中最重要的是它會讓你相信事件的目的地是一個元素。在我看來,這是無稽之談;一個事件*出現在一個元素處,並被髮送(通過底層瀏覽器代碼)到任何適當附加的事件處理程序。 – 2013-03-03 10:23:48
那麼你有解決方案嗎?哪個事件我可以使用,所以無論選擇的選項是不同的還是相同的,當選擇某物我想從選擇元素中刪除焦點! – 2013-03-03 10:28:09