【发布时间】:2012-01-05 06:26:16
【问题描述】:
我有一个完全由 ajax 驱动的网站,所以最近我不得不研究委托技术。我了解到 .live 和 .delegate 已被弃用,要使用的新功能是 .on 。
如果我像这样动态地将网页加载到当前页面 (AJAX) 上的一个分区中:
<html>
<head>
<script src="jquery.js">
</script>
<script>
function ajaxTest()
{
$('#content').load('test.php');
}
</script>
<script type="text/javascript">
$(function(){
$(document).on("click", "#map", function(){
alert("it has been loaded");
});
});
</script>
</head>
<body>
<div id="content">
<button onClick="ajaxTest()" value="Click Me">
This is to be clicked
</button>
</div>
</body>
</html>
test.php 的样子
<html>
<head>
</head>
<body>
<div id="map">THIS IS THE MAP</div>
</body>
</html>
然后我可以单击“这是地图”字样,它确实显示了警报。我一直遇到的问题是:
$(document).on("**click**", "#map", function(){
我需要更多类似的东西:
$(document).on("**load**", "#map", function(){
它显然不起作用,所以我想知道是否有类似的东西。我什至询问此问题的全部原因是因为在某些页面中,我有一个谷歌地图或一个 swf 对象或其他东西,而不是在地图部门中只有“这是地图”。任何帮助将不胜感激。
如果您只想回答如何将谷歌地图加载到尚不存在的部门中,那也会有所帮助;)
【问题讨论】:
-
你试过了吗.bind("click","testfunc");
标签: javascript ajax delegates jquery