Ajax создает div динамически + JavaScript - PullRequest
0 голосов
/ 30 мая 2010

Привет, Вопрос относится к ASP.NET MVC Я создаю некоторые div динамически с использованием AJAX (некоторые представления отображаются динамически). Внутри этих представлений есть некоторый код JS. Когда пользователь нажимает на ссылку, я хотел бы открыть диалоговое окно с картой Google. Однако, поскольку эти представления отображаются динамически, это не работает, поскольку код js не внедряется (что можно увидеть в исходном коде страницы). Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 30 мая 2010

Несколько идей:

  1. Добавьте ваши обработчики, используя live, если возможно, на странице, которая динамически загружает представления. Используйте это, если у вас есть общие обработчики для всех загруженных div.

    $ ('a.map-link'). Live ('click', function () { ... открыть ссылку в диалоге });

  2. Добавьте обработчики в обратном вызове AJAX. Используйте это, если обработчик предсказуемо отличается в зависимости от загруженного div.

    $. Ajax ({ ... success: function (data) { $ (Data.html) .appendTo (...) .найти') .click (function () { ... использовать какую-то другую часть данных в обработчике }); } });

  3. Включите JavaScript в код, загруженный AJAX, но в тело, а не в элемент head. Используйте это, если код относится к загруженному html и не может быть абстрагирован для всех представлений.

Просмотр

 <body>
   <div>specific stuff for this view</div>
   <script type="text/javascript">
       ... this code **will** be executed when loaded ...
   </script>
</body>

Просмотр загрузки страницы

$.ajax({
    ....
    success: function(html) {
        $(html).appendTo(...);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...