4

我在绑定以使用 JQuery 时遇到了一些麻烦。

<iframe id="wufooFormz7x3k1" height="281" allowtransparency="true" frameborder="0" scrolling="no" style="width:100%;border:none" src="http://foo111.com"></iframe>

<script>
jQuery('#wufooFormz7x3k1').ready(function()
{
  jQuery('#wufooFormz7x3k1').bind('onload', alert('hi1'));
  jQuery('#wufooFormz7x3k1').bind('onload', function() { alert('hi2') });
});
</script>

第一个绑定会生成一个警报,但随后会引发此错误,并且不会为 iframe 的任何后续加载触发警报(这是我要检测的内容)。

Uncaught TypeError: Cannot read property 'handler' of undefined and won't be triggered for subsequent onloads.

第二个绑定根本不会触发。

理想情况下,我想要绑定 iframe 的 onload,以便每次重新加载 iframe 时都可以生成警报。

4

1 回答 1

10

使用加载事件。

jQuery('#wufooFormz7x3k1').bind('load', function() { alert('hi2') });

第一次尝试发出警报,因为您正在执行警报并将警报的返回值作为函数传递,但是该返回值不是函数,因此会发生错误。

此外,以下内容不是必需的,并且并没有真正按照您的想法进行。

jQuery('#wufooFormz7x3k1').ready(function()

这忽略了'#wufooFormz7x3k1'and 使用document。由于脚本直接位于 iframe 标记之后,因此您可以省略它,因为 iframe 将准备就绪。

于 2012-06-22T19:11:53.697 回答