这是我的代码。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.7.1.js"></script>
<style type="text/css">
div {
background-color: silver;
border: 1px solid black;
width:200px;
}
</style>
<script>
$(function() {
$("#click").dblclick(function(e) {
var options = "<select id='combobox'>"
for ( var i = 0; i < 50; i++) {
options += '<option value="ActionScript">Value - ' + i + '</option>';
}
$(this).html(options + "</select>");
});
});
</script>
</head>
<body>
<div id="click">double click me</div>
</body>
</html>
双击div
后,select
会呈现div
元素。问题出在IE8中,select
呈现后,需要两次点击才能打开下拉菜单。它应该只需单击即可打开。
答案 0 :(得分:0)
此时我没有IE8请在创建选择元素后尝试添加$('#click').unbind('dblclick');
,否则会导致#click dblclick事件无效。
$(function() {
$("#click").dblclick(function(e) {
var options = "<select id='combobox'>"
for ( var i = 0; i < 50; i++) {
options += '<option value="ActionScript">Value - ' + i + '</option>';
}
$(this).html(options + "</select>");
$('#click').unbind('dblclick');
});
});
答案 1 :(得分:0)
最后我找到了这个解决方案。我在appendTo
方法中使用jQuery $(options + "</select>").appendTo(this);
而在.html
中使用$(this).html(options + "</select>");
。