在我认为我的弱长UITextView自定义重新实现(在designMode中使用UIWebView )无用之前,有什么方法可以处理/取消javaScript onKeyUp等事件吗?
AFAIK只有通过-shouldLoadRequest:& stringByEvaluatingScriptWithString:发送消息。但是,这些调用是异步的,并且在执行stringByEvaluatingScriptWithString:时javaScript事件处理程序已经退出了它的函数,因此事件取消方法不起作用。
如果没有这个功能,实现shouldReplaceCharactersInString:似乎是不可能的。:(
发布于 2011-09-22 05:11:57
也许你可以看看我的"safari like“浏览器的开源实现:https://github.com/sylverb/CIALBrowser
在这个例子中,我重新实现了长点击处理,为了禁用标准点击处理,我使用了以下代码:
- (void) webViewDidFinishLoad:(UIWebView *) sender
{
// Disable the defaut actionSheet when doing a long press
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"];
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
}https://stackoverflow.com/questions/7479713
复制相似问题