簡體   English   中英

為什么 jquery .change 事件不像我期望的那樣工作

[英]why the jquery .change event doesn't work as I expect

這是我的問題:

我有一個帶有兩個選項的選擇標簽——“你好”和“世界”

html

<select>
<option> Hello </option>
<option> World </option>
</select>

在 IE 中,當您選擇一個選項並且它成為所選選項時,藍色突出顯示會保持不變,直到您單擊選擇標簽之外的其他位置。 (在 Firefox 中不是這樣)

所以我寫了一個腳本,在選擇了一個選項時從元素中移除焦點。

腳本

$('select').change(function() {
        $(this).blur();

但仍然存在一個小問題:如果我選擇你好,然后獲得你好選項 - 焦點將保持不變,藍色突出顯示。 但是,如果我選擇 hello 然后選擇 world 選項 - 一切正常..
我讀到對於選擇菜單,選擇選項時會發生更改事件!!!但是為什么該選項必須與之前選擇的選項不同才能觸發更改事件。 我希望你明白我的英語不太好

這是 js 示例 - 請在 IE TEST JSFIDDLE 示例中對其進行測試

如果您選擇相同的值,該選項並沒有真正改變,是嗎?

如果選項更改,則僅觸發更改事件。

嘗試這個:

$(document).ready(function() {
  $('select').mouseout(function(){$(this).blur();})
});

這是一種黑客,可以工作,但不推薦,因為如果用戶試圖用鍵盤填充它,那么它可能會有點麻煩

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM