onClick窗口.位置在Chromium(谷歌Chrome的Linux版本)中不起作用
onClick Window.Location does not work in Chromium (Linux version of Google Chrome)
我觉得我有点傻,但我似乎无法让我的onClick通过Chromium工作,Chromium是Chrome的Linux版本(FireFox很好,IE也是)
这里有一些HTML代码:
<form>
<select name="month">
<option value="1" onclick="javascript:window.location.href='<SOMEPAGE>'; return false;">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</form>
我认为并非所有浏览器都支持使用onClick-on选项元素。即使是这样,也可能有更好的方法
如何使用select的onChange事件,然后检查已选择的选项。这样就可以很容易地为其他选项添加案例,而不会让html变得一团糟。
例如
<form>
<script language="JavaScript">
function doSomething() {
selected=document.getElementById("month")[document.getElementById("month").selectedIndex].value;
switch(selected) {
case "1":
window.location.href='http://www.ibm.com';
break;
}
}
</script>
<select name="month" id="month" onChange="doSomething()">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</form>
您尝试过window.open()方法吗?
替换:
<option value="1" onclick="javascript:window.location.href='<SOMEPAGE>'; return false;">January</option>
通过
<option value="1" onclick="window.open('<SOMEPAGE>')">January</option>
使用onchange事件,然后使用JQuery获取所选值。试试这个:
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js"></script>
<script>
function openWindow(){
if($("#mySelect option:selected").text() === 'January')
window.open('<SOMEPAGE>');
}
</script>
<form>
<select id="mySelect" name="month" onchange="openWindow()">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</form>
相关文章:
- JS编译器/包管理器,用于版本控制
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- Chrome加载旧版本的Javascript文件
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- 如何设置jsfiddle's的javascript版本
- 同一HTML页面中的两个不同版本的JQuery
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 有没有一种方法可以获得three.js的最小/lite版本
- Node和Nodejs版本不同
- 以ECMAScript 5及更高版本为目标时,八进制文字不可用
- 如何在HTML中指定Javascript的版本
- 注册组件的非角度和角度版本
- 浏览器是否持久缓存脚本元素的编译版本
- 如何确定相对较新版本的IE的高度和宽度(IE8不喜欢从JavaScript设置这种样式吗?
- 如何在IE8及以前版本中处理mousemove
- 从自身的一个版本中创建新的JavaScript对象
- PhpWindows 8.1版本上的Javascript web应用程序
- 如何在nodejs Linux上告知/更改javascript的版本
- onClick窗口.位置在Chromium(谷歌Chrome的Linux版本)中不起作用