Jquery焦点事件与html选择标记

时间:2009-09-21 20:39:35

标签: jquery

我正在使用jquery来更改下拉列表的背景。出于某种原因,现在需要两次点击才能选择一个项目,而不是一次点击。

我无法找到的是为什么会出现这种情况,以及有效的解决方法或更好的修复方法。 这似乎发生在ie7&即8(有一位朋友在他们的盒子上测试它)下面是我们用来测试这个问题的确切代码。

----------------------------- COMPLETE MARKUP ---------------- ----------------

    

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>

<style type="text/css">
    .yellowBackground, .yellowBackground > * > *
    {
        background-color: #FFFF79;
    }
</style>

<script type="text/javascript">

    $(document).ready(function() {
        $('select').focus(function() {

            $(this).addClass('yellowBackground');

        })
    });
</script>
</head>
<body>
    <form>
    <select>
        <option value="A">Option 1</option>
        <option value="B">Option 2</option>
    </select>
    </form>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

这似乎是known issue in IE7 and forward

如上所述,另一种方法是使用onmousedown事件来绕过它。

    $(document).ready(function() {
        $('select').mousedown(function() {

            $(this).addClass('yellowBackground');

        })
    });

虽然onfocusin也应该可以正常工作(但它在jquery中不存在),但这对于下拉列表不起作用。

答案 1 :(得分:0)

我认为问题更可能与<asp:DropDownList>控件的使用方式有关。在没有看到服务器端代码的情况下,很难看到更全面的图片。你能为你的页面提供aspx标记和代码隐藏吗?