我正在尝试为移动应用创建一个菜单,该应用将我的#content
- DIV的内容换成.HTML文件中的新内容。
我正在使用此代码:
$(document).ready(function(){
$('#menu li').click(function(){
$('#content').load(this.id + '.html #content *');
});
});
除了一个HTML-File:
外,这个工作正常<div id="content">
<div id="map"></div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="assets/default.js" type="text/javascript"></script>
<script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js" type="text/javascript"></script>
<script src="assets/map.js" type="text/javascript"></script>
</div>
我正在尝试加载由Leaflet-API生成的地图,但是每个浏览器只解析了空的DIV-Container(#map
)。
我认为问题可能是在构建DOM后我的map.js
没有被触发。
试图用$(document).ready()
解决此问题,但不幸的是它不起作用。
有什么建议吗?
会很棒,欢呼!
答案 0 :(得分:0)
从加载jquery文档中,您可以阅读
脚本执行
使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前将内容传递给.html()。这将在丢弃之前执行脚本块。但是,如果使用附加到URL的选择器表达式调用.load(),则在更新DOM之前会删除脚本,因此不会执行脚本。
你用一个选择器表达式调用load ...
我会以其他方式做。
通过回调地图功能调用加载
$(document).ready(function(){
$('#menu li').click(function(){
$('#content').load(this.id + '.html #content *',mapInit());
});
});