我正在使用其中一个spiffy新的show-your-password-single-char JQuery hacks,我可以将其应用于我的所有密码字段
<script type="text/javascript">
$(document).ready( function() {
$('input:password').dPassword();
});
</script>
但我的更改密码对话框是在Wicket ModalWindow中呈现的,
final ModalWindow window = new ModalWindow("change-password-panel");
final PasswordChangePanel panel = new PasswordChangePanel(window, myPasswordValidator);
window.setContent(panel);
add(window);
add(new AjaxFallbackLink<String>("change-password") {
@Override public void onClick(AjaxRequestTarget target) {
window.show(target);
}});
所以它不存在于document.ready。
如何在我的ModalWindow显示时安排重新运行JQuery选择器?
答案 0 :(得分:5)
尝试发送回一些JS,以便在完成AJAX调用后运行:
add(new AjaxFallbackLink<String>("change-password") {
@Override
public void onClick(AjaxRequestTarget target) {
target.appendJavascript("$('input:password').dPassword();")
window.show(target);
}
});
最好将选择器的范围限制在你的模态窗口,但我需要看到代码能够做到这一点。 ;)