In unserem Projekt haben wir eine AjaxLink:Wicket AjaxLink löscht Onclick Zuhörer
<a title="some title.." wicket:id="addMessage">Add</a>
Incide Page.class:
add(new AjaxLink() {
@Override
public void onClick(final AjaxRequestTarget target) {
//...
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
@Override
public CharSequence getPrecondition(Component component) {
return "return isPropagationAllowed()";
}
});
}
}
(Hinzufügen AjaxCallListener
mit Methode getPrecondition()
von onclick()
Methode stoppt auf bestimmten Bedingungen ausgeführt wird, (es sollte einen Namen einer Funktion von Ihrem js zurückgeben, die boolean zurückgibt))
Dann definiere ich einen Listener für das html-Element von js (+ JQuery) und ein bestimmtes Verhalten zu, dass setzen:
$('[title]').each((i, elem) => elem.onclick = (event) => {
/* ..manually open a tooltip.... */
})
Es funktioniert wie vorgesehen, bis das AjaxLink ausführt. Dann verschwindet mein Onclick-Listener aus irgendeinem Grund, und um es dann zum Laufen zu bringen, sollte ich es manuell binden.
Haben Sie eine Idee, warum dies (die Löschung anderer Zuhörer) geschieht und wie Sie das verhindern können?