У меня есть полностью 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(){
Очевидно, это не работает, поэтому яинтересно, может ли что-то подобное.Причина, по которой я даже спрашиваю об этом, состоит в том, что на некоторых страницах вместо того, чтобы просто «ЭТО КАРТА» в разделе карты, у меня есть карта Google или объект SWF или что-то еще.Буду признателен за любую помощь.
Если вы хотите просто ответить, как загрузить карту Google в раздел, который еще не существует, это также будет полезно;)