Jquery代码对我来说很完美,但只适用于chrome

时间:2015-09-16 23:41:40

标签: javascript jquery internet-explorer firefox safari

所以我在其中一个stackoverflow论坛中找到了这个小提琴(http://jsfiddle.net/EgCW6/),我再也找不到那个论坛了。我正在使用确切的代码

--save-dev

此代码是我需要的完美解决方案。但是,它只适用于chrome。我需要让它在其他浏览器中工作,但我似乎无法找到解决方案。无论是没有解决方案,还是我都会想到这个问题。

编辑: 单击绿色框时也应该有效。 如果有更好的和另一种方式写,请帮助我。真的会感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我调整了这个以便jquery在头部并且没有加载'ondomready'并且我还发现它使用jquery 2.02(+)运行跨浏览器但不是下面的任何东西。没有错误。我用径向渐变替换了箭头类。这是fiddle

$("#dropdown").click(function() {
  showDropdown = function(element) {
    var event;
    event = document.createEvent('MouseEvents');
    event.initMouseEvent('mousedown', true, true, window);
    element.dispatchEvent(event);
  };

  window.runThis1 = function() {
    var dropdown = document.getElementById('dropdown');
    showDropdown(dropdown);
  };

  window.runThis2 = function() {
    var dropdown = document.getElementById('dropdown2');
    showDropdown(dropdown);
  };
});
.drop {
    float: left;
    width: 180px;
    height: 34px;
    overflow: hidden;
    background-color: #D0D0D0;
    
    background-image: url(http://www.msskincarebeautysalon.com/images/downArrow.png), -webkit-radial-gradient(top left, circle, rgba(192, 192, 192, 0.3) 80%, rgba(0, 255, 0, 0.5) 20%);
    background-image: url(http://www.msskincarebeautysalon.com/images/downArrow.png), -moz-radial-gradient(top left, circle, rgba(192, 192, 192, 0.3) 80%, rgba(0, 255, 0, 0.5) 20%);
    background-image: url(http://www.msskincarebeautysalon.com/images/downArrow.png), -ms-radial-gradient(top left, circle, rgba(192, 192, 192, 0.3) 80%, rgba(0, 255, 0, 0.5) 20%);
    background-image: url(http://www.msskincarebeautysalon.com/images/downArrow.png), -o-radial-gradient(80% 20%, circle, rgba(192, 192, 192, 0.3), rgba(0, 255, 0, 0.5));
    background-image: url(http://www.msskincarebeautysalon.com/images/downArrow.png), radial-gradient(top left, circle, rgba(192, 192, 192, 0.3) 80%, rgba(0, 255, 0, 0.5) 20%);
    background-repeat: no-repeat, repeat;
    background-position: right center;

    height: auto;
    
    border-radius: 4px;
    border:1px solid #000;
    box-shadow: 0 1px 3px #f00;
    font-size:14px;
    margin:0 10px;
    position:relative;
}
.drop select {
    background: transparent;
    width: 100%;
    padding: 5px;
    font-size: 14px;
    border: 0;
    border-radius: 0;
    height: 34px;
    -webkit-appearance: none;
    color: #f00;
    cursor: pointer;
}
.drop option {
    text-align: center;
    margin: 0 auto;
    color: #000;
    cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div class="drop">
    <select id="dropdown">
        <option value="categ1">Category1</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
    </select>
</div>
<div class="drop">
    <select id="dropdown2">
        <option value="categ1">Category1</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
    </select>
</div>