4

我在这里根据解决方案使用自定义选择/下拉菜单:https ://stackoverflow.com/a/10190884/1318135

这个功能很好,除了选项只有在您单击该框时才会显示。单击右侧的“箭头”不会显示下拉选项。什么是解决方法?

http://jsfiddle.net/XxkSC/553/

HTML:

<label class="custom-select">
 <select>
  <option>Sushi</option>
  <option>Blue cheese with crackers</option>
  <option>Steak</option>
  <option>Other</option>
 </select>

CSS:

label.custom-select {
position: relative;
display: inline-block;

 }

.custom-select select {
    display: inline-block;
    padding: 4px 3px 3px 5px;
    margin: 0;
    font: inherit;
    outline:none; /* remove focus ring from Webkit */
    line-height: 1.2;
    background: #000;
    color:white;
    border:0;
  }




/* Select arrow styling */
.custom-select:after {
    content: "▼";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    font-size: 60%;
    line-height: 30px;
    padding: 0 7px;
    background: #000;
    color: white;
   }

.no-pointer-events .custom-select:after {
    content: none;
    }
4

2 回答 2

6

根据您的客户群,一段非常简单的代码:

pointer-events:none;

在此处查看浏览器支持:http: //caniuse.com/pointer-events

编辑:只是在床上,可能想到了另一种解决方案,但无法在我的手机上进行测试,但也许 jQuery mousedown 触发器可能是一个选项,在点击前一瞬间隐藏箭头,也许?

或者这个,不确定它是如何使用的,但在另一个线程中看到它: $('#select-id').show().focus().click();

如果我在我的电脑上,我会测试它......

于 2012-08-02T23:46:13.887 回答
1

那很好。谢谢(你的)信息。喜欢使用内容。没有 Android,但从我在 FF、Saf 和 Chrome 上的 Mac 中看到的情况来看,它运行得非常好。可以尝试添加:

-moz-border-radius: 0px 20px 20px 0px;
-webkit-border-radius: 0px 20px 20px 0px;
border-radius: 0px 20px 20px 0px;`=

到 .custom-select:after 来对齐边框。

于 2012-12-05T03:50:11.017 回答