【问题标题】:Add search engine context menu item to textarea将搜索引擎上下文菜单项添加到 textarea
【发布时间】:2016-10-16 22:28:29
【问题描述】:

是否可以在文本区域的右键单击上下文菜单中添加“搜索 Google”功能?我想要一个功能,当你在文本区域中选择一些文本时,如果你右键单击它,你会有一个上下文条目,允许你在谷歌中搜索该特定文本。这很像您在浏览器中右键单击页面但聚焦到文本区域时发现的上下文菜单条目。

我看到有一个 .contextmenu 事件 https://api.jquery.com/contextmenu/ 并且我已经能够在我的 textarea 中右键单击时弹出一个警报弹出窗口,但我正在寻找默认 textarea 的附加条目菜单将与“Search Google”类似,事件为http://www.google.com/search?q=STSTST,其中“STSTST”是文本区域中的选定文本,如果您单击该上下文菜单条目,则会在 Google 中搜索选定的文本。

【问题讨论】:

  • 我虽然默认情况下存在于所有浏览器中!!
  • @MinaJacob 不在 textareas 中。
  • @VAnton,至少 Chrome 在文本区域会这样做,但 Edge 有自己的右键单击功能。您可能会尝试替换默认行为,但随后您需要创建自己的右键单击,并将所选文本插入 Google 的搜索查询。
  • @MinaJacob IE 和 Edge 不这样做。

标签: javascript jquery


【解决方案1】:

这是一个演示 http://codepen.io/mozzi/pen/EgZvjg

注意:你不应该在这里问这种类型的问题,你应该已经有了解决方案,但是有问题!我发现它很有趣,所以我做了一个演示! :)

这里是演示的核心逻辑

$("#txtAboutMe").bind("contextmenu", function(event) {

  // Avoid the real one
  event.preventDefault();
  //alert(getSelectionText());
  selectedText = getSelectionText();
  $("[data-action='first']").text('Search Bing for "'+selectedText+'"');
  $("[data-action='second']").text('Search Google for "'+selectedText+'"');
  $("[data-action='third']").text('Search Yahoo for "'+selectedText+'"');
  // Show contextmenu
  $(".custom-menu").finish().toggle(100).

  // In the right position (the mouse)
  css({
    top: event.pageY + "px",
    left: event.pageX + "px"
  });
});

【讨论】:

  • 这真的很有帮助,米娜。谢谢。我将能够充分利用我认为的。谢谢你的时间。
猜你喜欢
  • 1970-01-01
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
相关资源
最近更新 更多