2011-04-09 224 views
0

我有一个可点击的国家地图加载文件准备就绪。Jquery ajax问题

$(document).ready(function bg() { 
     $.ajaxSetup ({cache: false,timeout: 5000});  
     $("#map").load("/maps/country.php",function() { 
    $('.map').maphilight({SOME SETTINGS HERE});  
    }); 
}); 

当我点击城市它触发它加载全市文件到#map DIV重新绑定一堆的JavaScript的复选框maphover等的AJAX功能...

$("#map").load("/maps/cityc_maps.php", function() { 

     //JAVASCRIPT NEEDED HERE! 

}); 

,我的问题当我将城市地图加载到div(使用ajax)时,我想让我的脚本重新绑定脚本(并突出显示该地图的一部分)。

$("#map").load("/maps/cityc_maps.php", function() { 

     //JAVASCRIPT NEEDED HERE! 

$("#CountryLink").load("/maps/country.php",function() { 
    $('.map').maphilight({SOME SETTINGS HERE}); 
    //AND HERE WHEN USER CLICK CITY MAP when file load 
}); 

}); 

这是非常令人困惑,但我希望有人会理解我的。我认为解决方案是重新加载页面,但我希望有办法用ajax做到这一点。

+0

我真的不明白你有问题。你为什么不在页面加载时创建一个加载国家地图的额外链接?也可能是您的问题可以通过使用命名函数而不是匿名函数来解决。 – 2011-04-09 12:28:50

+0

不知道你使用的是什么样的系统,我们无法真正帮助你。这是一个非常实际的问题,如果没有相同的情况,我很怀疑你会得到一个解决方案。如果您需要针对每个国家/地区的理论解决方案,请保存国家/地区,以便用户可以回到该国家/地区。 – Khez 2011-04-09 12:37:09

回答

1

如果你愿意的事件处理程序绑定到通过AJAX插入的元素,我认为你应该使用live:在你的JavaScript代码 http://api.jquery.com/live/

这样,您绑定的事件处理程序,一旦和jQuery负责观察新的可绑定元素。