在触摸屏上禁用文本输入上的Chrome粘贴菜单

时间:2015-06-25 22:19:48

标签: google-chrome copy-paste touchscreen chromium-embedded cefsharp

如何在触摸屏上禁用Chrome中这个烦人的上下文菜单。当我复制了一些文本时,这会在选择/长按任何输入时弹出。

enter image description here

使用CEFSharp(Chromium Embedded Framework)开发应用程序,并将其部署在Windows 8计算机的触摸屏上。我使用屏幕键盘(http://mottie.github.io/Keyboard/)在输入字段中输入文字。

我试过了

            $('input').bind('copy paste contextmenu', function (e) {
                e.preventDefault();
                e.stopPropagation();
            });

这会禁用粘贴但菜单仍会显示。我怎么摆脱这个菜单?如何最好地解决这个问题:CSS,Javascript或通过chrome命令行参数(http://peter.sh/experiments/chromium-command-line-switches/)?

1 个答案:

答案 0 :(得分:0)

我知道你说JS / CSS,但这对我有用

var browser = new ChromiumWebBrowser("http://www.afrobotics.co.za")
{
  Dock = DockStyle.Fill,
  DragHandler = new DragHandler(),
  MenuHandler = new ContextHandler()
};

// 
public class ContextHandler : IMenuHandler
{
    public bool OnBeforeContextMenu(IWebBrowser browser, IContextMenuParams parameters)
    {
        return false;
    }
}

public class DragHandler : IDragHandler
{
    public bool OnDragEnter(IWebBrowser browser, IDragData dragData, DragOperationsMask mask)
    {
        return true;
    }
}

var browser = new ChromiumWebBrowser("http://www.afrobotics.co.za") { Dock = DockStyle.Fill, DragHandler = new DragHandler(), MenuHandler = new ContextHandler() }; // public class ContextHandler : IMenuHandler { public bool OnBeforeContextMenu(IWebBrowser browser, IContextMenuParams parameters) { return false; } } public class DragHandler : IDragHandler { public bool OnDragEnter(IWebBrowser browser, IDragData dragData, DragOperationsMask mask) { return true; } }