Калитка ajax не отвечает после того, как дом изменен javascript

Wicket AjaxSubmitLink onSubmit не вызывается после применения appendJavascript, который изменяет DOM страницы. Пример кода

add(new ListView("list", someArrayList){
            @Override
            protected void populateItem(final ListItem item) {
                add(new AjaxSubmitLink("link") {
                     @Override
                     public void onClick(AjaxRequestTarget target) {
                         target.appendJavascript("swap('"+this.getMarkupId()+"')");
                     });
})

Le Javascript выглядит так

function swap(markupId){


var one = $('.dashed').first().parent();
var two = $('#'+markupId).parent();
var tone = one.clone();
var ttwo = two.clone();
one.replaceWith(ttwo);
two.replaceWith(tone);

}

Какие-либо предложения?

1 ответ

Решение

Это может быть метод clone(), вызывающий проблему. Согласно документации он не клонирует обработчики событий. Пытаться clone(true);

Вы также можете обработать сервер подкачки, а затем пересмотреть список после свопинга. Это был бы способ калитки сделать это.

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