Тема плагина jQuery для Struts2 для успешно загруженных вызовов Ajax

Я хочу вызывать функцию на моих страницах jsp каждый раз, когда страница успешно загружается с помощью вызова Ajax. Рассмотрим ниже:

|Main.jsp--------------------------------------|
|         Link A    Link B    Link C           |
|                                              |
|         -<div id="content">----------        |
|         |                           |        |
|         |                           |        |
|         |                           |        |
|         |                           |        |
|         ----------------------</div>-        |
|                                              |
|----------------------------------------------|

Каждая из ссылок будет вызывать LinkA.jsp, LinkB.jsp и LinkC.jsp. Ссылки, как показано ниже:

<sj:a href="%{urlA}" targets="content">LinkA</sj:a>
<sj:a href="%{UrlB}" targets="content">LinkB</sj:a>

Существуют общие функции JavaScript, которые должны вызываться при загрузке файлов JSP. Я могу написать эти общие файлы в initial.js и добавить его на все страницы JSP.

<script type="text/javascript" src="<s:url value="initial.js" />"></script>

Все файлы jsp содержат форму, и я хочу манипулировать общей функцией на всех входах, как показано ниже:

$( document ).ready(function() {
   $("input").changeEncodingInput();
}); 

Если я добавлю этот код в Main.jsp, changeEncodingInput не будет применяться при загрузке LinkB.jsp и LinkC.jsp

Но я думаю, что должен быть лучший путь.

Я ищу добавление файла initial.js в Main.jsp и не повторяю его на каждой странице.

Похоже, плагин JQuery Struts 2 внутренне управляет событиями Ajax. Может быть, темы публикуются внутри, и мы можем подписаться на это?

Есть идеи?!

1 ответ

Решение

После некоторых обзоров я нашел лучшее решение, которое можно найти, добавив ниже в main.jsp. Я надеялся, что фреймворк опубликовал событие, но я не смог найти ни одного, надеюсь, фреймворк поддержит это позже!

$(document).ajaxStop(function() {
    $("input[lang='fa']").changeEncodingInput();
});

Спасибо @Aleksandr за комментарии!

Другие вопросы по тегам