通过createElement_x_x创建的 的 事件在有些时候不响应,具体原因和解决办法如下。

首先,我们来看一下下面这种方法:

function create (){ 
    var   = document.cerateElement(\" \");
     .  = function(){alert(\"loaded - create \");}
     .src = \"http://www.phper.org.cn\";
    document.body.a( );

}

这一段在FF下是完全如我们所想,能够达到预期效果,但是在IE下面似乎就失效了,导致这种结果的原因还不是十分清楚,有一种说法是IE在检测到 的时候,就把认为它已经装载完成了,通过createElement_x_x创建的 ,似乎在创建的一瞬间它的 就完成了,后面的 设定大概也就无效了。

下面我们再来看一个方法:

function include (){
   var div = document.create_rElement_x(\"div\");
   div.innerHTML = \"<   =\\\" :alert(\'loaded -include \');\\\"     src=\\\"http://www.manongjc.com\\\"></ >\";

   document.body.a(div);
}

这个方法在IE和FF下面测试都通过,上面的那种说法虽然不是很有根据,但是目前还没有找到更好的解释。如果真的是如上面所说的话,那通过第二种方法正好可以解决,因为在第二种方法中 的 事件跳过createElement_x_x(" ")这个步骤,避免了IE的检测。

必须在src前面才可以.

收藏 打印