當我有一個代碼,其去除從選擇多個(<select multiple></select>
)被點擊選項時標籤的選項元素。代碼工作+ - 像這樣。IE的javascript:從選擇多個刪除選項節點選項被單擊
var option = new Option("sometext","someval");
$(option).click(function(){
selectBox.remove(option);
return false;
}
);
$(selectBox).append(option);
它非常好上除了IE以外的引擎我還記得(壁虎,很快,webkit的...)。
根據我的研究,IE不支持添加事件,選項標籤,所以我說的事件選擇標籤。
$(selectBox).click(function(event){
if (option === selectBox.options[selectBox.selectedIndex]) {
event.preventDefault();
event.stopPropagation();
selectBox.remove(option);
return false;
}
event.preventDefault();
return true;
}
);
哪裏是:if (option === selectBox.options[selectBox.selectedIndex]) {
我已經嘗試過:if ($(option).is(':selected')) {
也不能工作。
會發生什麼: 當我點擊的選項全部綁定功能被激活,並且元件被刪除後可以有激活的功能。
使用event.stopPropagation();
(傳播確實在繼續,反正)似乎沒有做我想要的東西,因爲所有其他事件也被稱爲。 改變從點擊的事件改變並不能解決問題,因爲所選擇的選項更改它被刪除,然後所選擇的選項變得再次調用另外一個引發事件,並在結束時,在選擇所有元素都是刪除。
挑了這個1做了一些修改,並開始工作。謝謝 – brunoais