我知道下面的方法可以检测链接元素点击.但是我想知道 UIView
是否可以检测到 img
元素是否被点击?
I know that method below can detect a link element tap. But I want to know if the UIView
can detect if the img
element is tapped?
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
switch (navigationType) {
case UIWebViewNavigationTypeLinkClicked:
NSLog(@"link is click");
//do something
break;
default:
break;
}
return true;
}
一些html源代码如下:
Some html source like below:
<p>xxxxxxxxx</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg"> </p>
<p>xxxxxxxxx。</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg"> </p>
<p>xxxxxxxxx。</p>
你能告诉我如何使用示例代码来做到这一点吗?谢谢.
Could you show me how to do it using sample code? Thanks.
你的img标签没有html点击事件.如果你可以像下面这样制作你的图像 -
Your img tag does not have html click event. If you can make your image like below way -
<p>xxxxxxxxx</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg" onclick="myfunction()"> </p>
<p>xxxxxxxxx。</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg" onclick="myfunction()"> </p>
<p>xxxxxxxxx。</p>
然后您可以在 UIWebView 委托方法中捕获您的 img 点击事件 - shouldStartLoadWithRequest.
Then you can catch your img click event within UIWebView Delegate method - shouldStartLoadWithRequest.
其他可能的选项 -
否则,您已经编写了一个 javascript 方法,该方法将 OnClick 方法动态添加到所有 IMG 标记.并在您的页面加载到 UIWebView 时调用此 javascript 方法 -
Otherwise you have write a javascript method which dynamically add OnClick method to all IMG tags. And call this javascript method when your page load in UIWebView -
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
//Execute javascript method or pure javascript if needed
[_webView stringByEvaluatingJavaScriptFromString:@"methodName();"];
}
这篇关于UIWebView 如何检测 <img src="..."/>被窃听的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!