我有一个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…</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中)
谢谢。
答案 0 :(得分:3)
我会改变这个:
.live('change', loadCategories)
对此:
.change(loadCategories)
你总是在ajax加载后重新绑定,所以.live()
在这里没有给你太多...而且在角落情况下我遇到了很多问题,change
仍然没有在IE中完全正确地冒泡。
默认情况下它根本没有冒泡,jQuery在这里做了一些魔术来鼓舞事件,但它还不完美。另请注意,在 1.4 + 之前,IE(甚至通过jQuery)没有冒充 ,你正在 1.3.2 在页面上,.live()
根本不适用于IE中的change
。