IE下不支持option的onclick事件
<select>
<option onclick="test('www.hao123.com')"value="www.hao123.com">hao123</option>
<option on click="test('www.baidu.com')" value="www.baidu.com">baidu</option>
<option on click="test('www.google.com')" value="www.google.com">google</option>
</select> <script type="text/javas cript">
function test(s){
window.open(s);
}
</script>
这些代码在Firefox下能正常运行;在IE下不能运行,且没有报错.
最后发现了问题所在:在IE里,select的option是不支持onclick事件的,而在Firefox和 OPERA 里, option 是支持onclick事件的。
那么应该怎么实现原设定的功能?用Select元素的onchange事件。这时主要是考虑如何获得被选中的选项所代表的链接。
修改后代码如下:
<select id="friendLink" on change="test()>
<option value="www.hao123.com">hao123</option>
<option value="www.baidu.com">baidu</option>
<option value="www.google.com">google</option>
</select> <script type="text/javas cript">
function test(){
var targetSlect=document.getElementById("friendLink");
var targetHref=targetSlect.options[targetSlect.selectedIndex].value;
window.open(targetHref);
}
</script>
虽然onchange在某些时刻可以代替 option的click事件, 但是两者并无法做到完全等价. 因为onchange只有在 你点击的option和之前的option不同时才会触发. 当select当前选中的是第一项 而你再次点击第一项时, select是不会被触发的. 下面的代码演示了一种间接实现 option onclick的方法 注意:此方案只适用于下拉方式的单选select.
IE下不支持option的onclick事件的更多相关文章
- select中option的onclick事件失效
html: <select id="pageSelect"> <option value="1" selected onclick=" ...
- uGUI使用代码动态添加Button.OnClick()事件(Unity3D开发之十二)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42705885 ...
- 谈谈如何给下拉框option添加点击事件?
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. ...
- 解决IE6下a标签的onclick事件里的超链接不跳转问题
今天遇到个很诡异的问题,就是<a href="javascript:void(0);" onclick="window.location=url"> ...
- jquery技巧之让任何组件都支持类似DOM的事件管理
本文介绍一个jquery的小技巧,能让任意组件对象都能支持类似DOM的事件管理,也就是说除了派发事件,添加或删除事件监听器,还能支持事件冒泡,阻止事件默认行为等等.在jquery的帮助下,使用这个方法 ...
- JS里的onclick事件
可以通过以下代码了解JS里的onclick事件: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&quo ...
- onclick 事件
onclick 事件 Event 对象 定义和用法 onclick 事件会在对象被点击时发生. 请注意, onclick 与 onmousedown 不同.单击事件是在同一元素上发生了鼠标按下事件之后 ...
- jq动态添加onclick事件在谷歌中不起作用
$("#oa-bed-rooType").append($('<option/>').val(0).text('请选择房间类型')); $('#oa-bed-roomT ...
- 为select的option绑定键盘事件
1. 目的 可以使用快捷键1.2.3.4等自动选中select框对应的option 2. 代码 <select id="selectItem" class="for ...
随机推荐
- android142 360 分页加载
dao: package com.itheima.mobileguard.db.dao; import java.util.ArrayList; import java.util.List; impo ...
- MYSQL 备份工具
backup of a database is a very important thing. If no backup, meet the following situation goes craz ...
- Sales_item例子
Sales_item.h #ifndef SALES_ITEM_H #define SALES_ITEM_H #include<iostream> #include<string&g ...
- JavaScript触摸与手势事件
JavaScript触摸与手势事件 发表于 2012-12-10 由 admin iOS版Safari为了向开发人员传达一些特殊信息,新增了一些专有事件.因为iOS设备既没有鼠标也没有键盘,所以在为移 ...
- 我cnblogs的主题
我的cnblogs主题 这里记录的是本博客的主题存档 主题代码参考自:流云诸葛的博客 博客皮肤选择 选择 LessIsMore 页面定制CSS代码 div.post div.entry { font- ...
- Helpers\Document
Helpers\Document The document class is a collection of useful methods for working with files. To get ...
- 玩转Android之手摸手教你DIY一个抢红包神器!
AccessibilityService是Google专门为残障人士设计的一个服务,可以让他们更方便的来操作手机.AccessibilityService一个主要功能是通过监听窗口的变化来判断用户当前 ...
- 数据结构笔记02:Java面试必问算法题
1. 面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的 ...
- use selenium in scrapy webdriver
https://pypi.python.org/pypi/selenium from selenium import webdriver from selenium.webdriver.common. ...
- 给jdk写注释系列之jdk1.6容器(12)-PriorityQueue源码解析
PriorityQueue是一种什么样的容器呢?看过前面的几个jdk容器分析的话,看到Queue这个单词你一定会,哦~这是一种队列.是的,PriorityQueue是一种队列,但是它又是一种什么样的队 ...