UIWebView 性能与 JS 点击功能

UIWebView performance with JS onclick function

本文关键字:功能 JS 性能 UIWebView      更新时间:2023-09-26

我在UIWebView中显示了一个相当大的页面(大约150 <article>s,带有一些文本,用<section>s分隔)。我想用JS做这样的事情(我使用jQuery):

$('article').click(function() {alert('hi');});

问题是,运行该代码需要很长时间(在iPad 3上,从点击开始大约2秒)。

如何提高这方面的性能?

我使用的是最新版本的XCode和iOS 5.1。

我使用了这个答案的类SingleTapDetector,以及以下代码:

new SingleTapDetector(window, function(e) {
  alert($(e.srcElement).text()); //show the text of the element that was tapped
});

然后很容易看出该元素是否是article,甚至是像$(e.srcElement).closest('article')这样的东西(因为我的文章有<p>段落)。

我建议您尝试在窗口对象上放置一个单击事件,然后验证这是否是<article>标签。下面是示例:

$(window).click(function(e){
    var e = e || event;
    if(e.srcElement.tagName==ARTICLE)
        alert('hi');
});