Javascript Jquery代码非常适合我,但只在chrome中有效

Javascript Jquery代码非常适合我,但只在chrome中有效,javascript,jquery,internet-explorer,firefox,safari,Javascript,Jquery,Internet Explorer,Firefox,Safari,所以我在一个stackoverflow论坛中找到了这个fiddle(),我再也找不到那个论坛了。我使用的是准确的代码 <div class="lang"> <select id="language" class="selectOptionHeader"> <option>United Kingdom</option> <optio

所以我在一个stackoverflow论坛中找到了这个fiddle(),我再也找不到那个论坛了。我使用的是准确的代码

<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>

大不列颠联合王国
奥地利
罗马尼亚
$(“.lang”)。追加(“”);
(功能(){
showDropdown=函数(元素){
var事件;
event=document.createEvent('MouseEvents');
initMouseEvent('mousedown',true,true,window);
元素。dispatchEvent(事件);
};
window.runThis2=函数(){
var dropdown=document.getElementById('language');
下拉列表(下拉列表);
};
})();
这段代码是我需要的完美解决方案。然而,它只适用于chrome。我需要让它在其他浏览器中工作,但我似乎找不到解决方案。要么没有解决办法,要么我越来越蠢,想弄明白这一点

编辑: 当您单击绿色框时,它也应该工作。
如果有更好的和另一种写作方式,请帮助我。非常感谢您的帮助。

我对其进行了调整,使jquery位于头部,并且没有加载“ondomready”,我还发现它使用jquery 2.02(+)跨浏览器运行,但没有以下内容。没有错误。我用径向渐变替换了arrow类。这是一个

$(“#下拉列表”)。单击(函数(){
showDropdown=函数(元素){
var事件;
event=document.createEvent('MouseEvents');
initMouseEvent('mousedown',true,true,window);
元素。dispatchEvent(事件);
};
window.runThis1=函数(){
var dropdown=document.getElementById('dropdown');
下拉列表(下拉列表);
};
window.runThis2=函数(){
var dropdown=document.getElementById('dropdown2');
下拉列表(下拉列表);
};
});
.drop{
浮动:左;
宽度:180px;
高度:34px;
溢出:隐藏;
背景色:#D0;
背景图片:url(http://www.msskincarebeautysalon.com/images/downArrow.png)-webkit径向梯度(左上角,圆形,rgba(192,192,192,0.3)80%,rgba(0,255,0,0.5)20%);
背景图片:url(http://www.msskincarebeautysalon.com/images/downArrow.png),moz径向梯度(左上角,圆形,rgba(192,192,192,0.3)80%,rgba(0,255,0,0.5)20%);
背景图片:url(http://www.msskincarebeautysalon.com/images/downArrow.png),ms径向梯度(左上,圆形,rgba(192,192,192,0.3)80%,rgba(0,255,0,0.5)20%);
背景图片:url(http://www.msskincarebeautysalon.com/images/downArrow.png),o-径向梯度(80%20%,圆形,rgba(192,192,192,0.3),rgba(0,255,0,0.5));
背景图片:url(http://www.msskincarebeautysalon.com/images/downArrow.png)径向梯度(左上角,圆形,rgba(192,192,192,0.3)80%,rgba(0,255,0,0.5)20%);
背景重复:不重复,重复;
背景位置:右中;
高度:自动;
边界半径:4px;
边框:1px实心#000;
盒影:0 1px 3px#f00;
字体大小:14px;
利润率:0.10px;
位置:相对位置;
}
.下拉选择{
背景:透明;
宽度:100%;
填充物:5px;
字体大小:14px;
边界:0;
边界半径:0;
高度:34px;
-webkit外观:无;
颜色:#f00;
光标:指针;
}
.放弃选择权{
文本对齐:居中;
保证金:0自动;
颜色:#000;
光标:指针;
}

类别1
1.
2.
3.
4.
5.
6.
7.
8.
类别1
1.
2.
3.
4.
5.
6.
7.
8.

您能解释一下您所做的更改以及您认为它是如何解决问题的吗?Chrome报告您的代码出现语法错误。我认为在JS的顶层不能有一个未命名的函数表达式。你从来没有调用过这个函数——旧代码是一个生命。未捕获的语法错误:意外标记(无论如何,你应该在答案中添加解释,而不是注释。嗨,Rachel,当你点击绿色框时,它对其他浏览器不起作用。
initMouseEvent
不推荐使用。为什么不使用jQuery的
.trigger()
method?
showDropDown
从不使用
元素
参数。提琴在Firefox中工作。提琴在IE中不工作。我还需要在单击绿色框时使其工作。但这在Firefox或除chrome以外的任何其他浏览器中都不起作用。