相关疑难解决方法(0)

在移动Safari(iPad/iPhone)中防止longpress/longclick上的默认上下文菜单

对于一个网站,我想在用户"长按"屏幕时显示自定义上下文菜单.我在代码中创建了一个jQuery Longclick监听器来显示自定义上下文菜单.将显示上下文菜单,但也会显示iPad的默认上下文菜单!我试图通过preventDefault()在我的监听器中添加一个事件来防止这种情况,但这不起作用:

function showContextMenu(e){
  e.preventDefault();
  // code to show custom context menu
}

$("#myId").click(500, showContextMenu);
Run Code Online (Sandbox Code Playgroud)

问题

  1. 你可以阻止iPad的默认上下文菜单显示吗?
  2. 可以使用jQuery Longclick插件完成吗?

Longclick插件具有针对iPad的一些特定处理(假设通过它的源代码片段):

if (!(/iphone|ipad|ipod/i).test(navigator.userAgent)){
  $(this)
  .bind(_mousedown_, schedule)
  .bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(' '), annul)
  .bind(_click_, click)
}
Run Code Online (Sandbox Code Playgroud)

所以我假设这回答了我的第二个问题(假设插件使用了正确的事件).

javascript iphone jquery mobile-safari ipad

28
推荐指数
4
解决办法
5万
查看次数

防止用户在浏览器上复制文本

我正在尝试使用JavaScript开发打字速度竞赛.人们应该把他们从div看到的所有单词写成textarea.

为了防止作弊(比如从div复制单词),一种方法是只在键盘按键关闭时检查写入的单词,但我想知道是否有办法阻止用户在浏览器中复制文本?

到目前为止我尝试了什么:

  1. 禁用右键单击(在移动浏览器上无效)
  2. 在所有页面中使用onmousedown事件显示警报(它也不起作用)

使用任何库都可以.

html javascript css php jquery

12
推荐指数
4
解决办法
2505
查看次数

禁用 Chrome for Android 文本选择弹出窗口

我想隐藏当用户选择任何文本时显示的 Chrome for Android 文本选择弹出窗口,这样默认文本选项弹出窗口(附加屏幕截图)就不会出现。

无论如何使用javascript这样做,而不删除整个文本选择功能?

在此处输入图片说明

javascript android google-chrome textselection ios

8
推荐指数
1
解决办法
3868
查看次数

在移动IE上禁用标注(上下文菜单)

在Web应用程序中,我需要禁用移动浏览器在触摸目标(例如<img>或链接)上触摸并按住("长按")时显示的默认标注.

我已经在使用-webkit-touch-callout: noneiPhone和iPad了.我试过-ms-touch-action:nonetouch-action:noneIE,但这似乎不起作用(在IE11,Windows Phone 8上测试).

来自W3邮件列表的这篇文章建议在Javascript和调用中为"contextmenu"事件添加一个监听器e.preventDefault().这似乎也不起作用.

有什么建议?

javascript html5 internet-explorer web-applications css3

7
推荐指数
1
解决办法
907
查看次数

CSS:-webkit-touch-callout替代android

有没有替代-webkit-touch-callout,它适用于基于Android的手机.我正在尝试禁用移动设备中的长触摸弹出窗口.我试图绑定jQuerys taphold事件以返回false; 但没有运气......任何想法?谢谢!

css mobile android webkit

5
推荐指数
1
解决办法
3949
查看次数