【问题标题】:positioning kendo right click menu定位剑道右键菜单
【发布时间】:2014-03-12 21:51:04
【问题描述】:

我有右键菜单(contentmenu),但它只显示在一个静态位置(在底部)。你能帮助我吗?我使用此代码:

<ul class ="k-column-menu" id="contextmenu" style=" display:none; position: absolute; background-color:white; border-style:solid; border-width:1px;" >
<li>Genres</li>
<li>About</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>

还有这个

$(document).ready(function () {
        $(document).bind('contextmenu', function (event){
            $("#contextmenu").kendoMenu({ position: "relative", orientation: "vertical" }).show();
         event.preventDefault();
        });

        $(document).bind('click', function () {
                $("#contextmenu").hide();
        });

    });

我这样解决了这个问题:

$(document).ready(function () {
        $(document).bind('contextmenu', function (event){
            $("#contextmenu").css({ "top": event.pageY + "px", "left": event.pageX + "px" }).kendoMenu({orientation: "vertical"}).show();
            event.preventDefault();
        });

        $(document).bind('click', function () {
                $("#contextmenu").hide();
        });

    });

我想问另一个问题。如何使此菜单仅在右键单击列标题时才显示,而不是在页面或表格上的其他位置显示

【问题讨论】:

  • 你能提供一个提琴手链接吗?很容易解决你的问题。
  • 我已经完成了菜单。但是在浏览器中每次右键单击时都会显示。我希望此菜单仅在右键单击列标题(名称)时才显示,而不是在单元格或页面上的任何位置。

标签: jquery kendo-ui contextmenu positioning


【解决方案1】:

你只需要在bindclick event时指定&lt;th&gt;标签。

更新链接:

这里是a simple example.!

另一个更新

这里是another example根据你的要求你只需要改变

这个:

$(document).bind('contextmenu', function (event){
     $("#contextmenu").kendoMenu({ position: "relative", orientation: "vertical"}).show();
     event.preventDefault();
});

到这里:

$(".k-header").bind('contextmenu', function (event){
     $("#contextmenu").kendoMenu({ position: "relative", orientation: "vertical"}).show();
     event.preventDefault();
});

【讨论】:

  • 我做了这个改变: $(document).ready(function() { $("#Grid").bind('contextmenu', function(event) { $("#contextmenu") .css({ "top": event.pageY + "px", "left": event.pageX + "px" }).kendoMenu({orientation: "vertical" }).show(); event.preventDefault() ; }); $(document).bind('click', function() { $("#contextmenu").hide(); }); });但它也允许表中的菜单。正如我所说,我只希望它在列标题上。
  • 我还有一个问题。当我可以调整列宽时,你知道如何制作菜单项(在这个特定的菜单上)吗?
  • 在这个右键菜单上,我需要一个文本框,当它第一次打开时,它需要有当前列大小(以 px 为单位),然后我可以更改大小并自动调整列大小宽度
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
相关资源
最近更新 更多