【发布时间】:2012-07-18 13:25:29
【问题描述】:
第一次发帖,但始终使用此站点作为示例。我的小问题是这个(我已经研究过了,但找不到解决我的问题的方法)......
我有一个包含 50 多个名称的文本列表,并且每天有一个项目(因此是一个 50+ x 7 的矩阵),我希望能够在其中右键单击每日文本(每天一个 div),并且每天显示与该项目特别相关的菜单。但是这没什么大不了的,因为我需要单独识别每个项目并使用 JS 的 DivID 来调用另一个函数,这变得很重要。我查看了其他 jquery 菜单选项,但无法弄清楚如何正确动态检索名称。
我遇到的问题不是创建菜单并捕获项目 ID,而是在右键单击后阻止 ContextMenu 出现。
我希望页面在其他地方有右键菜单,但不是在这些 DIV 元素上,我正在创建的只是菜单。
以下代码已被简化...
这是我正在使用的 JS:
function go(e,idname)
{
var rightclick;
e = e || window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
var a = idname.id;
a = (a.substring(11));
ShowContent('ToggleValueFloat'); // Display the DIV
$(document).ready(function()
{
$('#ToggleValueFloat').html('MY MENU TEXT' + <a href="Javascript:ToggleDay(' + a + ');">EXAMPLE</a>);
return false;
});
return false;
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
这是我用于示例的 PHP:
echo '<a id="togglePopup' . (int)$arrayEId[$allEntries] . '" onmousedown="go(event,this); return false;">example</a>';
这是我用来显示的 DIV。
<div id="ToggleValueFloat" style="display:none; position:absolute; border-style: solid; background-color: white; padding: 5px;"></div>
我试图让它每次都返回 false,这样上下文菜单就不会显示,但它不起作用。我可以在页面上完全禁用右键单击,但这将证明比以往任何时候都没有效率。
任何想法/帮助都会很棒!我对选择持开放态度。谢谢,史蒂夫
【问题讨论】:
-
如果没有适当的缩进,您的代码很难阅读。
-
对不起,我很难用 SOF 上的代码标签来获取它。
-
您只需将每行缩进四个空格,然后它将保留您的其他缩进并将其显示为代码。编辑器中的
{}工具将缩进一个块四个空格以将其显示为代码。
标签: php jquery contextmenu right-click