gpt4 book ai didi

ios - 在 webview 中,我怎么知道输入何时应该 resignFirstResponder

转载 作者:行者123 更新时间:2023-12-01 22:18:01 25 4
gpt4 key购买 nike

我的应用程序的一部分通过 web View 向用户呈现表单。我有一些用户问为什么当他们继续向下滚动表单/webview 时将数据输入字段后,键盘仍然在屏幕上可见。我似乎找不到任何会关闭键盘的 textarea 或 textfield 委托(delegate)方法。

我很担心开始添加手势识别器,因为我不想覆盖 webview 上的触摸。

最佳答案

native 行为:
键盘在 UITextView 上自动显示焦点,要再次隐藏它,您需要在 UIView [self.view endEditing:YES]; 上调用自己

例如,在 WKWebView 上,键盘也会自动显示焦点在 HTMLInputElement 上并隐藏在模糊处。
但是 WKWebView 不会通过点击外部某处(例如 body )来模糊 HTMLInputElement 的焦点,因此键盘仍然停留在 View 中。

如果您想在滚动后隐藏键盘,您可以使用一点 JS(仅将其注入(inject) WKWebView):

var SKIP_BLURRING = ['INPUT', 'TEXTAREA'];

document.body.addEventListener('touchend', function (event) {
var activeElement = document.activeElement;
var tapped = event.target;
var shouldSkipElement = SKIP_BLURRING.indexOf(tapped.tagName) > -1;
var isSameElement = activeElement === tapped;

if (shouldSkipElement || isSameElement) {
return;
}

activeElement.blur();
}, false);

关于ios - 在 webview 中,我怎么知道输入何时应该 resignFirstResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51090190/

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