我知道下面的方法可以检测链接元素点击。但我想知道UIView
是否可以检测是否点击了img
元素?
- (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来源如下:
<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>
你能告诉我如何使用示例代码吗?感谢。
答案 0 :(得分:3)
答案 1 :(得分:1)
你的img标签没有html点击事件。如果你可以像下面那样制作你的图像 -
<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 Delegate方法中捕获你的img click事件 - shouldStartLoadWithRequest。
备用可能选项 -
否则,您已经编写了一个javascript方法,可以动态地将OnClick方法添加到所有IMG标记中。在UIWebView中加载页面时调用此javascript方法 -
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
//Execute javascript method or pure javascript if needed
[_webView stringByEvaluatingJavaScriptFromString:@"methodName();"];
}