2016-10-11 43 views
0

我有一個通用列表,我不得不在執行ListBoxes和蘋果產品和/或觸摸設備(我沒有測試對付Android)後實現。列表項背景顏色不會更改在Ipad上

我的列表是這樣的:

<ul> 
    <li> 
<ul> 

列表項標籤創建並在運行時填充。

我JS/jQuery是如下:

$('.List li').on('click touch', function() { 
var selected; 

selected = document.querySelector('li.selected'); 
console.log(selected); 
if (selected) 
    selected.classList = ''; 
this.classList = 'selected' 

document.getElementById('ItemValue').value = this.id; 
}); 

這個工作只是我多麼希望它在電腦上工作,它選擇的項目和應用CSS。

我已經在Ipad上測試過它,並且它確實得到選中,但是css沒有被應用。我知道它被選中是因爲我可以在點擊物品後操縱列表中的物品位置。

我不想通過Js/Jquery設置背景顏色,我更喜歡添加一個類並在必要時刪除它們。

$(this).css('background-color', 'colour') 

任何幫助,將不勝感激:)

其他注意事項:

我已經嘗試添加 ':焦點' 在css來選擇類,這次沒在iPad和電腦上工作。

Edit_1:

我已經嘗試添加填充在計算器線程的建議,但是這沒有奏效。

Edit_2:

嘗試了更新,更是最新的Ipad,問題依然存在,所以我不認爲這有什麼兼容性。

回答

0

我自己解決了這個問題,只需使用classList的remove和add方法即可。

我更換

selected.classList = ''; 
to: 
selected.classList.remove('selected'); 

selected.classList = 'selected'; 
to: 
this.classList.add('selected'); 

以下網址幫我解決這個問題: https://developer.mozilla.org/en/docs/Web/API/Element/classList