jquery ajax在Internet Explorer中不会触发

我正在使用一个函数来触发任何一组特定的锚点击时。
这适用于Firefox 3和Chrome。

当页面首次开始加载时它们不存在,因为它们是由XML + XSLT使用客户端转换创建的,以防万一这是如何相关的。

我也只是把警报放在那里只是为了看看它是否做了什么……甚至在IE中都没有警报。 它不适用于Chrome,但那是因为我错过了$ document.ready语句[仍然在FF中工作]但我不确定IE的缺失元素是什么。 我正在使用IE 8顺便说一句。

 $(document).ready(function () { $("#BlogSelectList li a").click(function () { alert('hhi') var str = ($(this).attr("href")).slice(1, 37) $.ajax({ contentType: "application/json; charset=utf-8", url: '../ws/WebServices.asmx/SetActiveBlog', data: '{ActiveBlogID: "' + str + '"}', dataType: 'json', type: "post", success: function (j) { window.location.href = 'dashboard.aspx' } }); }); })  

当doc首次加载时,锚点不存在可能是相关的。 您可以使用live方法快速修复。 即使稍后将其添加到DOM,这也会将您的事件应用于您选择的任何事件。

 $("#BlogSelectList li a").live("click", function() {etc...}); 

此外,如果您正在使用锚点,则可能需要将href属性设置为“#”,以便它不会触发浏览器默认行为导航到某处。

    
ravi

在IE8中尝试这个并告诉我。 一旦此代码由于IE8中的弹出窗口阻止程序而未运行。 删除弹出窗口拦截器