jquery:点击链接弹出菜单?

时间:2010-04-17 00:00:06

标签: jquery

有没有办法在单击元素后“等待popupmenu上的用户操作”?

例如:

人A点击链接。 javascript菜单弹出窗口询问用户想要使用此链接做什么。 除了弹出菜单外,不应允许用户点击其他任何位置。 用户单击菜单上的操作后,将发生默认的浏览器操作(即链接到下一页)

3 个答案:

答案 0 :(得分:1)

我猜你要求在模态对话框中选择一个元素。如果是这样,请使用jqueryUI,因为您已经在使用jquery。

答案 1 :(得分:0)

你的意思是这样吗?

<a href='target.html' onclick='javascript:return confirm("Are you sure that you want to continue?");'>click to navigate</a>

答案 2 :(得分:0)

您必须动态构建菜单或将其包含在样式为display:none;的页面中。

然后,当您点击链接时,您必须根据事件的位置设置x / y。

e.g。

$(document).ready(function() {
  $('a#mylink').click(function(ev){
      var menu = $('div#myMenu').get(0);
      var leftPt = ev.pageX + 'px';
      var topPt = ev.pageY + 'px';
      menu.style.display= "block";
      menu.style.left= leftPt;
      menu.style.top= topPt; 
  });
});

然而,您将不得不担心在一段时间后关闭菜单或应用“关闭”按钮/链接。

我一直想知道如何使用这种类型的弹出窗口,所以几个月前我为Google Chrome编写了一个扩展程序,在您选择文本时会显示一些选项。它与我上面列出的相同,但也会轮询页面以获取鼠标,然后检查所选文本并在短时间内显示菜单。如果您想查看代码并选择要使用的部分,可以在http://code.google.com/p/select-actions/source/browse/select_actions.js

获取源代码。

我道歉,如果它很乱,我只花了大约一天工作,我仍然有意义回到它,但Chrome很快会在上下文菜单中提供扩展钩子,所以在此之前改变任何东西似乎毫无意义

编辑:关于模态对话框方面,这是用CSS完成的。此处的代码可在此处获取:http://raven-seo-tools.com/blog/2911/create-a-modal-dialog-using-css-and-javascript