使用$ .get获取新页面后,新页面上将无法运行任何javascript。
有没有办法让javascript也使用新页面?
非常感谢
编辑:示例:
$(function() {
$('.viewPage').click(function() {
$('#mainarticle').fadeOut('slow')
$.get($(this).attr('href'), { js: "1" }, function(data) {
$('#mainarticle').html(data).fadeIn('slow');
});
return false;
});
});
现在这样可以正常工作,新页面的锚标签不会触发(假设它有.viewPage)。
我希望澄清问题。
答案 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文档。