jquery - Wicket 口和 jquery-ui 菜单;菜单呈现为无序列表

标签 jquery jquery-ui wicket

我一直在考虑将 wicket 与 jquery-ui 结合使用。这是我所拥有的:

<wicket:head>

 <script src="/jquery/js/jquery-ui-1.10.3.custom.js"></script>
<link rel="stylesheet" type="text/css" href="/jquery/css/custom-theme/jquery-ui-    1.10.3.custom.css">

<script>
$("#menu").menubar();
</script>

</wicket:head>

<wicket:panel>


    <ul id="menu">
        <li><a href="#">Character</a>
        <ul>
        <li>sdf</li>
        <li>sfs</li>
        <li>we</li>
        </ul>

        </li>
        <li><a href="#">Corporation</a></li>
        <li><a href="#">Alliance</a></li>
        <li><a href="#">Fleet</a></li>
    </ul>

当我将此面板添加到我的页面时,它显示为一个无序列表,没有 jquery 魔法。

有人知道我需要在 Wicket 口内做些什么才能使这项工作正常进行吗?

我已经验证 jquery 脚本和 css 都被拾取

谢谢

最佳答案

When I add this panel to my page it appears as a unordered list with no jquery magic.

克里斯托夫的评论是正确的。该脚本需要在文档加载时执行。

向组件添加 JQuery 功能的“Wicket 方式”是创建一个行为,负责加载 javascript 和 css 文件并在文档加载时添加 javascript。像这样的事情:

public class JQueryMenuBehavior extends Behavior{

    @Override
    public void renderHead(Component component, IHeaderResponse response){
        response.renderJavascriptReference("/jquery/js/jquery-ui-1.10.3.custom.js");
        response.renderCSSReference("/jquery/css/custom-theme/jquery-ui-1.10.3.custom.css");
        response.renderOnDomReadyJavascript("$('#menu').menubar();");
    }
}

然后只需将此行为添加到“正常”Wicket 无序列表中,您就拥有了 JQuery 菜单。您可能应该使 id“#menu”可配置。

通过这种方式,您可以将其添加到任何要显示为 jquery 菜单的列表中,从而获得可重用的行为。

关于jquery - Wicket 口和 jquery-ui 菜单;菜单呈现为无序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17393616/

相关文章:

javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

javascript - 选择:update not working in $. ajax成功调用

javascript - jQuery UI 可拖动捕捉标尺

jquery-UI Datepicker 在 div 上时不会自动翻译

websphere - 对标记文件的更改未在 wicket 项目中获取

javascript - 有没有办法使用 JavaScript 引入 Internet Explorer 条件注释?

jquery - ASP.NET MVC 的网格控件?

jQuery 循环遍历 JSON 文件并在继续之前进行解析

javascript - 具有可拖动和可调整大小的撤消和重做功能

java - 哪个基于 Java 的 Web 框架能够更好地防御 XSRF?