jQuery选择不在IE7中工作

时间:2010-04-07 12:22:12

标签: javascript jquery

我有一个jQuery选择,它适用于IE浏览器的大多数浏览器。代码如下;

<script type="text/javascript">
        function parseCatSelect()
        {
            $('#d_cat select:empty').parent().html('<p><span class="placeholder">No categories available</span></p>');
            $('#d_cat select').attr('name', 'e');
        }

        function loadCategories()
        {
            $('#d_cat').html('<p><span class="placeholder">Please wait&hellip;</span></p>').load('/brand_categories.asp', {label: $('#d_brand select option:selected').val()}, parseCatSelect);
        }

    $('#d_brand').load(
        '/brands.asp',
        function() {
            $('#d_brand select').attr('name', 'd').live('change', loadCategories).trigger('change');
        }
    );

</script>

有人可以帮忙解决这个问题吗?你可以在www.wearecapital.com上看到这个(在FireFox中)

谢谢。

1 个答案:

答案 0 :(得分:3)

我会改变这个:

.live('change', loadCategories)

对此:

.change(loadCategories)

你总是在ajax加载后重新绑定,所以.live()在这里没有给你太多...而且在角落情况下我遇到了很多问题,change仍然没有在IE中完全正确地冒泡。

默认情况下它根本没有冒泡,jQuery在这里做了一些魔术来鼓舞事件,但它还不完美。另请注意,在 1.4 + 之前,IE(甚至通过jQuery)没有冒充 ,你正在 1.3.2 在页面上,.live()根本不适用于IE中的change