覆盖<a> tag click event to load data in its own <div></div></a>

时间:2012-02-03 07:14:34

标签: json jquery

我有一个MVC网格,它在页面加载时通过json调用呈现。 单击Grid的任何标记时,我需要刷新此网格。 所以我写了这个javascript。

$("#SearchGrid a").live("click", function (event) {
    var link = event.currentTarget.attributes[0].childNodes[0].wholeText;
    $("#SearchGrid").load(link);
    return (false);
});

它与IE9和其他浏览器一起正常工作。但是我需要让它在IE8上运行起来。 在IE8中,它没有在同一个div中加载网格,而是将其重定向到一个新页面,只包含从json调用返回的网格。

2 个答案:

答案 0 :(得分:3)

试试这个。它直接使用属性href而不是IE专有代码

$("#SearchGrid a").live("click", function () {
    var link = $(this).attr('href');
    $('#SearchGrid').load(link);
    return false;
}

答案 1 :(得分:0)

不确定问题可能是什么,但以下是调试它的一些提示:   - var link ='some-page.html' 试着看看你的代码是否真的在IE8中返回任何html数据 - 如果确实如此,则问题出在var link = event.currentTarget.attributes [0] .childNodes [0] .wholeText;   - 而不是load(),尝试使用$ .ajax调用或json调用,看看是否发生了。 我希望这些证明是有用的