2016-05-17 145 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