Jquery 代码对我来说很完美,但只适用于 chrome
Jquery code is perfect for me but only works in chrome
所以我在一个 Whosebug 论坛中找到了这个 fiddle (http://jsfiddle.net/EgCW6/),但我再也找不到那个论坛了。我正在使用确切的代码
<div class="lang">
<select id="language" class="selectOptionHeader">
<option>United Kingdom</option>
<option>Austria</option>
<option>Romania</option>
</select>
</div>
<script>
$(".lang").append("<div onclick='runThis2()' class='arrow2'></div>");
(function () {
showDropdown = function (element) {
var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
element.dispatchEvent(event);
};
window.runThis2 = function () {
var dropdown = document.getElementById('language');
showDropdown(dropdown);
};
})();
</script>
这段代码是我需要的完美解决方案。但是,它仅适用于 chrome。我需要让它在其他浏览器中工作,但我似乎找不到解决方案。要么没有解决方案,要么我越来越笨了。
编辑:
当您单击绿色框时,它也应该起作用。
如果有更好的另一种写作方式,请帮助我。非常感谢您的帮助。
我调整了它,所以 jquery 在头部并且没有加载 'ondomready' 我还发现它 运行 跨浏览器使用 jquery 2.02 (+) 但不是下面的任何内容。没有错误。我用径向渐变替换了箭头 class。这是一个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>
所以我在一个 Whosebug 论坛中找到了这个 fiddle (http://jsfiddle.net/EgCW6/),但我再也找不到那个论坛了。我正在使用确切的代码
<div class="lang">
<select id="language" class="selectOptionHeader">
<option>United Kingdom</option>
<option>Austria</option>
<option>Romania</option>
</select>
</div>
<script>
$(".lang").append("<div onclick='runThis2()' class='arrow2'></div>");
(function () {
showDropdown = function (element) {
var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
element.dispatchEvent(event);
};
window.runThis2 = function () {
var dropdown = document.getElementById('language');
showDropdown(dropdown);
};
})();
</script>
这段代码是我需要的完美解决方案。但是,它仅适用于 chrome。我需要让它在其他浏览器中工作,但我似乎找不到解决方案。要么没有解决方案,要么我越来越笨了。
编辑: 当您单击绿色框时,它也应该起作用。 如果有更好的另一种写作方式,请帮助我。非常感谢您的帮助。
我调整了它,所以 jquery 在头部并且没有加载 'ondomready' 我还发现它 运行 跨浏览器使用 jquery 2.02 (+) 但不是下面的任何内容。没有错误。我用径向渐变替换了箭头 class。这是一个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>