0

这是我的代码。

<!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一个元素。问题是在 IE8中渲染后,需要点击两次才能打开下拉菜单。它应该只需单击一下即可打开。selectdivselect

4

2 回答 2

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');
     });
});
于 2013-03-22T13:28:35.243 回答
0

最后我找到了这个解决方案。我使用 jQuery appendToas in$(options + "</select>").appendTo(this);方法而不是.htmlas in $(this).html(options + "</select>");

于 2013-03-26T04:52:59.633 回答