gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 10:23:50 27 4
gpt4 key购买 nike

我使用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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com