Калитка 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);
Вы также можете обработать сервер подкачки, а затем пересмотреть список после свопинга. Это был бы способ калитки сделать это.