javascript - 如何在长按期间将焦点从 UIWebView 转移到另一个 UIView 上

标签 javascript iphone uiview uiwebview focus

我使用javascript来检测长按(一个touchstart事件,然后300ms内罕见的touchmove事件将被视为长按,不需要touchend),然后使用javascript

document.location = "XXXXXXX";

向上层UIView发送通知,保证js代码没有问题。

问题来了:然后在我写的委托(delegate)中

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
/*
blablabla
*/
//show Contextual Menu
[webView resignFirstResponder];
CGRect  viewRect = CGRectMake(0, 0, 320, 460);
ContextualMenu *menu = [[ContextualMenu alloc] initWithFrame:viewRect];
[menu becomeFirstResponder];
/*
blablabla
*/
return NO;}

ContextualMenu *菜单 View 的某些部分是半透明的,因此我可以看到:

当我在 UIWebView 中开始长按并且 ContextualMenu 的 View 出现并覆盖 UIWebView 时,我的手指仍然可以滚动 UIWebView(直到我从屏幕上抬起手指)

有什么方法可以阻止这种行为,并在 ContextualMenu 显示时将焦点从 UIWebView 移动到 ContextualMenu View ?(忽略正在进行的长按手势)

更新:

我在JS发送通知到上层UIView之前和之后添加了这些代码,但仍然没有用。(也尝试过触发touchcancel事件)

$(event.target).trigger('touchend');
$(event.currentTarget).trigger('touchend');

最佳答案

您是否尝试将 UIWebView 的 userInteractionEnabled 设置为 False?

关于javascript - 如何在长按期间将焦点从 UIWebView 转移到另一个 UIView 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4913689/

相关文章:

iphone - UIButton 图像在 IB 中看起来不错,但在应用程序中显示时会被拉伸(stretch)

iOS 从 superview 中删除一个对象会破坏自动布局并禁用 ScrollView

ios - 更改标签内容后更新带有标签的 UIView 框架

Swift UIFont IBInspectable - 这可能吗?

javascript - 将 iOS 中被调用函数的结果返回到 JavaScript 中 WkWebView 中的调用函数

javascript - 如何在具有多个变量的模板文字中使用三元运算符

javascript 使用非内联函数

javascript - FileStream 响应显示 � 而不是拉丁字符

iPhone CLLocation 模拟器 didUpdateToLocation 从未调用过

iphone - 如何构建iOS应用以供一些测试人员下载