2016-05-17 144 views
1

我一直試圖將選擇框自身的選擇放置在選擇框本身的頂部而沒有自動選擇第一個選項最初點擊選擇框。位置在選擇框頂部選擇了選擇框選項而沒有自動選擇第一個選項

這是問題的一個的jsfiddle:http://jsfiddle.net/sdrah3g7/

這裏是我想通過CSS來定位選擇:

.chosen-container .chosen-drop { 
top: 0 !important; 
} 

我有一種感覺,這可以通過修改來解決選擇JS文件可以在點擊選擇框和選擇元素之間創建延遲,或者可以通過在初始點擊選擇框釋放鼠標按鈕之後禁用選擇選項來創建延遲。

不幸的是,我在這方面的JavaScript知識非常有限,在選擇的代碼中缺少評論使我很難處理這個問題。我會繼續嘗試解決這個問題,但任何幫助將不勝感激。

+1

刪除'top:0!important;'按需要工作。我認爲當點擊輸入框並導致第一次下拉式自動選擇時,點擊正在被註冊。 – Rikin

+0

@Rikin謝謝,但'top:0;'是頁面設計所必需的。 – darimc

回答

0

你能在這裏試試吧:http://jsfiddle.net/sdrah3g7/1/

我改變選定的代碼位。

而不是onmouseup我設置onmousedown功能需要它。

this.search_results.bind('mousedown.chosen', function(evt) { // mouseup to mousedown 
    _this.search_results_mousedown(evt); // this function call changed to mousedown and function name also 
}); 

代碼被改變了:

- 線684,685 - 這是上面的代碼
- 在線967 - 函數名
- 在線525 - 函數調用觸摸事件

你可以下載更改後的選定腳本here

+1

非常感謝!這是有道理的,爲什麼現在這樣做。我很感激幫助。 – darimc