#jquery #events #html
#jquery #Мероприятия #HTML
Вопрос:
Легко для средних и опытных пользователей. Учитывая следующие файлы:
HTML:
<html>
<head>
<script>
$(document).ready(function()
{
$("#fashion").onclick(function()
{
$get("ajax.php", { section: fashion}, function(result)
{
$("#container").html(result);
});
});
$("div").click(function()
{
var identification = $(this).attr("id");
alert(identification);
});
});
</script>
</head>
<body>
<div id="fashion">
Click me
</div>
<div id="container">
<div>
<div id="test">
Test
</div>
</body>
</html>
Я извлекаю HTML-информацию с другой страницы «ajax.php » вызванный ранее в методе
<?php
if($_GET['fashion'])
{
?><div id="fashion_content">This is a random text</div><?php
}
?>
Дело в том, что с помощью функции $(«div»).click(функция… в разделе script не будет возвращен идентификатор из div, сгенерированного методом ajax get (div id =»fashion_content»), а только другие («мода», «контейнер», «тест»).
С другой стороны, когда я помещаю функцию jquery после div в ajax.php файл следующим образом это работает:
<?php
if($_GET['fashion'])
{
?><div id="random">This is a random text</div>
<script>
$("div").click(function()
{
var identification = $(this).attr("id");
alert(identification);
});
</script>
<?php
}
?>
Я думаю, мне нужно перезагрузить скрипт (или только функцию) после завершения события get. Но как?
Ответ №1:
попробуйте
$("div").live('click',function()
{
var identification = $(this).attr("id");
alert(identification);
});
кроме того, это может выйти за рамки $(document).ready()
для ускорения выполнения
С этим фрагментом вашему php не нужно будет возвращать скрипт, добавляющий событие click.