В плагине struts 2 jQuery есть структура публикации/подписки, которую можно использовать для вызова события.
Рассмотрим этот образец....
Можно изменить поведение сетки при загрузке сетки, подписавшись на событие onGridCompleteTopics
.
<sjg:grid id="gridtable" dataType="json"
href="%{url}" gridModel="gridModel" direction="%{pageDir}" width="800"
shrinkToFit="true" onGridCompleteTopics="grid_compelete">
А потом в js:
$.subscribe('grid_compelete', function(event, data) {
//do some thing
}
Проблема в том, что, как указано выше, js и сетка находятся на одной странице (они находятся на одном jsp), каждый раз, когда я перезагружаю страницу, вызывается subscribe
, и код в подписке запускается снова.
Как я могу это предотвратить?! Я нашел функцию в jquery.subscribe.1.2.3
, которая называется isSubscribed
. Я думал, что фреймворк должен использовать ее внутри, чтобы избежать этой проблемы. Но это не так!
Также я не нашел способа вызвать и использовать этот метод.