Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wicket AjaxLink不生成JavaScript_Wicket - Fatal编程技术网

Wicket AjaxLink不生成JavaScript

Wicket AjaxLink不生成JavaScript,wicket,Wicket,我开始尝试Wicket AJAX功能,并希望实现AjaxLink 这是关联的标记/java代码: <a wicket:id="testlink"></a> --- AjaxLink<Component> link = new AjaxLink<Component>("testlink") { @Override public void onClick(AjaxRequestTarget target) { Syste

我开始尝试Wicket AJAX功能,并希望实现AjaxLink

这是关联的标记/java代码:

<a wicket:id="testlink"></a>
---
AjaxLink<Component> link = new AjaxLink<Component>("testlink") {
    @Override
    public void onClick(AjaxRequestTarget target) {
        System.out.println("called");
    }
};
add(link);
关于我做错了什么有什么想法吗?

这个
href=“javascript:;”
可以工作,因为Wicket 6使用javascript事件注册。在firefox等浏览器开发工具中查看您的网页。将检查器指向链接并读取其id,然后转到标题部分并展开其中一个
标记。在那里,您应该找到链接的id,并看到有一行链接id上附加了单击事件。当您单击链接时,将执行其中的URL


感谢Robert澄清Wicket 6的ajax机制-我对这个主题还不熟悉,您给我的见解帮助我解决了这个问题

实际上,它是由jQuery不一致性引起的,我还没有完全弄清楚,显然同事在我们的不同Wicket模块中使用了不同的jQuery版本,而Wicket在尝试将事件侦听器连接到组件时使用了错误的版本,而不是它附带的版本


在删除不必要的旧jQuery库时,Wicket开始正常工作——现在我只需要让依赖于其他jQuery库的组件重新工作,但情况不同:)

在我的情况下,我删除了以下onload-on-body标记,AjaxLink-onclick函数再次工作

<body onLoad="MM_preloadImages('template-image/searchbto.png');">


谢谢,我看到了这一点,并且正在生成相应的行。仍然没有调用该方法,也没有看到所需的输出,也没有触发Java断点。你有什么建议吗?你的链接是空的。输入一些文本,如:
单击此处
。对我有效。尝试过,仍然无效。此外,由于布局的原因,即使是空链接也有一个大约20x10像素的可点击区域。附加说明:当我使用click事件的链接(
Wicket.Ajax.Ajax({“u”:“/?0-2.IBehaviorListener.0-testlink”,“e”:“click”,“c”:“testlink7”};;
)时,会触发方法/断点。因此,这不是ajax调用本身的问题,而是调用不是从网页触发的问题。我没有使用任何拦截器,每一个“正常”javascript都可以正常工作。尝试不同的浏览器。禁用所有插件。尝试在Firefox/Chrome中使用内置JS调试器。在链接中添加一个
IAjaxCallListener
:并在每个处理程序中放置JS
alert()
s,然后查看执行哪些处理程序。在从Maven Wicket Archteype新生成的空项目中尝试它。我没有更多的想法。。。
<body onLoad="MM_preloadImages('template-image/searchbto.png');">