当openOnClick为true且closeOnClick为false时,面板中的KendoUI菜单链接不起作用

时间:2014-05-20 07:00:08

标签: javascript kendo-ui kendo-menu

经过大量测试后,我发现由于kendo ui菜单组件中出现了一个错误,我的菜单不再有效。这曾经有用,而且不再有用。由于我们还处于项目的早期阶段,我们并没有使用导航,所以我不知道它什么时候停止工作。

我创造了一个非常简单的小提琴来演示这个问题。基本上有两个导航相邻,一个工作,另一个不工作。唯一的区别是,无效的那个有openOnClick:true和closeOnClick:false。

注意:我必须将其设置为在小提琴的新窗口中打开链接,因为jsfiddle不会让google加载到iframe中,因此允许弹出窗口。

小提琴:http://jsfiddle.net/codeowl/HLaRx/4/

HTML:

<div style="padding:20px">
    <table style="width:500px">
        <tr>
            <td>Nav 1 Active Links DON'T Work:</td>
            <td>Nav 2 Active Links DO Work</td>
        </tr>
        <tr>
            <td><ul id="nav1" /></td>
            <td><ul id="nav2" /></td>
        </tr>
    </table>
</div>

JavaScript的:

$(document).ready(function() {
    var oNav1 = null,
        oNav2 = null,
        oNavData = [{
            "text": "Administration",
            "encoded": true,
            "content": "<div class=\"ma-hpm-dropPanel\"><table><tr><td><div class=\"ma-hpm-cellPadding\"><span class=\"ma-hpm-menuPanelGroupHeader\">Application Administration</span><ul><li><span class='ma-hpm-dissabledPanelLink'>Dissabled Link</span></li><li><a target='_blank' class='ma-hpm-panelLink' href='http://www.google.com.au'>Active Link</a></li></ul></div></td></tr></table></div>"
        }];

    oNav2 = $('#nav1').kendoMenu({
        openOnClick: true,
        closeOnClick: false
    }).data('kendoMenu');

    oNav1 = $('#nav2').kendoMenu().data('kendoMenu');

    oNav1.append(oNavData);
    oNav2.append(oNavData);
});

请帮我解决此问题。

以下是我要创建的导航面板的示例: enter image description here

此致

斯科特

2 个答案:

答案 0 :(得分:0)

不确定它什么时候停止工作但我会说目前的行为是可以理解的(尽管可能不是你想要的)。

菜单期望你里面的东西是菜单选项,而不是完整的HTML。因此,当您将openOnClick设置为true(与鼠标悬停的默认设置相反)时,Kendo UI必须拦截该菜单上任何HTML元素上的click事件。因此,您必须按预期打开URL。

所以,我的问题,为什么你需要像你一样定义它?可能会有这样的事情吗?:

<ul id="nav1">
    <li>
        Administration
        <ul>
            <div>
                <span class="ma-hpm-menuPanelGroupHeader">Application Administration</span>
            </div>
            <li disabled="disabled">Disabled Link</li>
            <li><a target='_blank' class='ma-hpm-panelLink' href='http://www.google.com.au'>Active Link</a></li>
        </ul>
    </li>
</ul>

此处示例:http://jsfiddle.net/OnaBai/HLaRx/6/

答案 1 :(得分:0)

这是一个错误 - 和here is the fix