我正在使用jquery-ui-contextmenu jquery 插件。我有几个动态生成的 div,每个都有一个 pre 标签。我想要的是初始化插件一次,当用户突出显示文本并释放鼠标左键以触发位于鼠标位置的上下文菜单时。
到目前为止,我已经能够触发菜单,但是一旦释放按钮,我似乎无法让菜单的位置粘在鼠标上,如果用户右键单击,他们也会得到 2 个上下文菜单。
这是我的小提琴作为例子
$("div.editor").contextmenu({
delegate: "pre",
menu: [
{title: "Copy", cmd: "copy", uiIcon: "ui-icon-copy"},
{title: "----"},
{title: "More", children: [
{title: "Sub 1", cmd: "sub1"},
{title: "Sub 2", cmd: "sub1"}
]}
],
select: function(event, ui) {
alert("select " + ui.cmd + " on " + ui.target.text());
}
});
$("pre").bind("mouseup",function(e){
$("div.editor").contextmenu('open',$("pre"));
});
<div class="editor"><pre></pre></div>
这只是一些示例代码,但它与我使用的非常相似。我们在每个 div 下都有一个表单,该表单有几个字段,我们希望使用包含在 pre 标记中的大文本来填充。并且可能有多达 20 个 div.editor 标签,每个标签都有自己的形式。
关键是用户可以突出显示特定的单词或短语,并轻松地将其插入适当的表单字段。我可以让它只使用突出显示然后右键单击方法,但这对于每天有数百个这样的用户来说需要额外的时间。
任何帮助将不胜感激。
再次感谢