关于Javascript(Jquery)和GET的问题

时间:2009-08-12 09:48:30

标签: javascript jquery ajax get

使用$ .get获取新页面后,新页面上将无法运行任何javascript。

有没有办法让javascript也使用新页面?

非常感谢

  • Dorjan

编辑:示例:

$(function() {
    $('.viewPage').click(function() {
        $('#mainarticle').fadeOut('slow')
        $.get($(this).attr('href'), { js: "1" }, function(data) {
            $('#mainarticle').html(data).fadeIn('slow');
        });
        return false;
    });
});

现在这样可以正常工作,新页面的锚标签不会触发(假设它有.viewPage)。

我希望澄清问题。

2 个答案:

答案 0 :(得分:2)

您需要使用live将事件绑定到锚点:

$('a.something').live("click",function() {
    alert('this will still work after a.something has been replaced via ajax');
});

使用$ .get的回调的另一种方式:

$.get( "page.html", function(data) {
    $('#someDiv').html(data);
    $('a.something').click(function() {
        alert('this will still work after a.something has been replaced via ajax');
    });
});

现在我已经看到了你的代码:

$(function() { 
    $('.viewPage').live("click",(function() { 
        $('#mainarticle').fadeOut('slow') 
        $.get($(this).attr('href'), { js: "1" }, function(data) { 
            $('#mainarticle').html(data).fadeIn('slow');
        }); 
        return false; 
    }); 
});

答案 1 :(得分:0)

是的;还有另一个jquery ajax方法,它将从页面中获取返回的脚本并执行它。检查jquery文档。