HTML onclick事件导致innerHTML性能下降

时间:2014-03-21 17:02:02

标签: javascript performance onclick innerhtml

我遇到了一个奇怪的问题,并且相信对这个问题的额外关注会有所帮助。

我们正在为Internet Explorer 8中的应用程序进行性能测试。我们有一个表视图,在第一列中是一个可以单击以启动模式窗口的锚标记。我们注意到一个问题,即内联点击事件导致对innerHTML的调用在大量行(大约150)的情况下减慢多达2秒。

经过调查,我发现如果每行都有相同的参数传递给内联onclick,性能很快。这是html的样子......

<dl id='a' class='result-info odd'>
            <dd id='b' class='table-cell'><a
                    onclick='javascript:SampleNamespace.LaunchModal(10.0);'>Column 1</a></dd>
            <dd id='b' class='table-cell'>Column 2</dd>
            <dd id='c' class='table-cell'>Column 3</dd>
</dl>

当然,该内容重复了150次。

现在,如果我更改它以使每行都有一个传递给SampleNamespace.LaunchModal的不同的值,则性能会下降。

还有其他人遇到过这种情况吗?关于在使用内联onclick时innerHTML性能降低的原因的任何线索?我目前的理论是innerHTML在遇到onclick时会进行某种处理,并且当参数相同时会进行优化。

非常感谢任何帮助,谢谢!

0 个答案:

没有答案