У меня есть полностью управляемый веб-сайт, поэтому в последнее время мне пришлось исследовать методы делегирования. Я узнал, что .live и .delegate устарели, а новая функция - .on.jQuery .on функция не похоже на событие «load»
Если я динамически загружаются веб-страницы в дивизию на текущей странице (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 в подразделение, которое еще не существует, это было бы полезно тоже;)
сделал вас try .bind ("click", "testfunc"); –