Javascript 取消选择单选<;选择>;Safari中的选项/基于它检测Safari';It’他做不到这一点

Javascript 取消选择单选<;选择>;Safari中的选项/基于它检测Safari';It’他做不到这一点,javascript,drop-down-menu,safari,Javascript,Drop Down Menu,Safari,我想要的是一个开始为空的元素,因此用户必须首先选择一个元素,然后在执行此操作时运行脚本: 以下代码在Windows 10上的Firefox和Android上的Chrome中正常工作: <html> <body> <select id="cbo"> <option>one</option> <option>two</option> </select> <scr

我想要的是一个开始为空的
元素,因此用户必须首先选择一个元素,然后在执行此操作时运行脚本:

以下代码在Windows 10上的Firefox和Android上的Chrome中正常工作:

<html>
<body>
<select id="cbo">
    <option>one</option>
    <option>two</option>
</select>
<script type="text/javascript" language="JavaScript"><!--
    var cbo = document.getElementById('cbo');
    cbo.onchange = function() {
        var o = cbo.options[cbo.selectedIndex];
        if (o) alert(o.innerText);
    }
    cbo.selectedIndex = -1;
//--></script>
</body>
</html>
我仍然希望有一个更干净的方法来做这件事

<html>
<body>
<select id="cbo">
    <option>one</option>
    <option>two</option>
</select>
<script type="text/javascript" language="JavaScript"><!--
    var cbo = document.getElementById('cbo');
    cbo.onchange = function() {
        var o = cbo.options[cbo.selectedIndex];
        if (o) alert(o.innerText);
    }
    cbo.selectedIndex = -1;
    if (cbo.selectedIndex >= 0) {
        var o = document.createElement('option');
        o.innerHTML = 'stupid dummy element for Safari';
        o.disabled = true;
        o.selected = true;
        cbo.add(o, 0);
    }
//--></script>
</body>
</html>
var fIsSafari = /Safari\//i.test(navigator.userAgent)
    && !/Chrom\w+\//i.test(navigator.userAgent);