<option>
不响应IE8中的click / contextmenu事件?
以下是在本地验证它的所有代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<title>International Properties</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){
$('option').bind('click contextmenu',function(){
alert(1);
});
});
</script>
<select size="2">
<option class="showme" id="article1">test1</option>
<option class="showme" id="article2">test2</option>
</select>
</body>
</html>
修改
我提供的代码是为了澄清我遇到的问题。
最终我会做类似的事情:
$('option').contextMenu('myMenu1'...
答案 0 :(得分:1)
将处理程序绑定到select,使用Event.target获取用户单击的选项。这对我有用:
$(function(){
$('select').bind('click contextmenu',function(ev){
console.log($(ev.target).val());
return false;
});
});
修改的
我使用以下代码在ie6,ie7和ie http://ipinfo.info/netrenderer/index.php上测试了它。选择最后一个选项,显示“click()on:article2”。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<title>option.click</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){
$('select').bind('click', function (ev)
{
ev.target.selected = true;
$('body').append('click() on: ' + ev.target.id);
});
$('option:last').click();
});
</script>
<select size="2">
<option class="showme" id="article1">test1</option>
<option class="showme" id="article2">test2</option>
</select>
</body>
</html>
答案 1 :(得分:0)
我认为您需要将事件绑定到选择而不是选项:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<title>International Properties</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){
$("select").bind("click contextmenu", function(){
alert(1);
});
});
</script>
<select size="2">
<option value="article1">test1</option>
<option value="article2">test2</option>
</select>
</body>
</html>