有沒有辦法在一個多模式,以確定select
元素的onchange
處理程序選擇或取消選擇不保持其已經選定的選項一個單獨的列表,並比較兩個列表什麼選擇?如何判斷在多選的onchange事件處理程序中選擇了哪個選項?
我見過Get last clicked option in multiple select但是因爲我正在使用Mobile Safari,所以我將無法在本機選取器組件上使用任何類型的事件處理程序來確定選擇。
有沒有辦法在一個多模式,以確定select
元素的onchange
處理程序選擇或取消選擇不保持其已經選定的選項一個單獨的列表,並比較兩個列表什麼選擇?如何判斷在多選的onchange事件處理程序中選擇了哪個選項?
我見過Get last clicked option in multiple select但是因爲我正在使用Mobile Safari,所以我將無法在本機選取器組件上使用任何類型的事件處理程序來確定選擇。
您應該使用onfocus for Safari。
作爲一個廣義的解決方案,這是我會做什麼:
通過內聯JS調用或監聽器捕捉的選項的onfocus/onClick事件,並觸發一個類名「selectedOption」(不管你希望該元素上的名稱爲):
的onfocus =「JavaScript的:toggleClass(這)」 //內嵌
雖然檢索元件使用所有選項元素的選擇器與該特定類的selectedOption' 。在jQuery中,像這樣的工作:
的jQuery(「#options 'selectedOption。')//其中#options DOM元素保持所有選項
希望這有助於。
您是否考慮在每次點擊時在選定的選項上應用/刪除類?這樣你就不會有單獨的列表。 – user286806
我曾嘗試在'select'中爲'click'和'touchend'事件添加偵聽器,並且它們似乎不會在iPhone或iPad上觸發。我不知道如何實施您的建議。 – Greg