最近在用chrome浏览器的时候(版本36.0.1985.125 m),发现一个很奇怪的问题。
在用jquery进行元素节点的clone的时候,会触发其内联的onchange事件。例子如下:
<!DOCTYPE html> <html> <head> <title></title> <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> </head> <body> <input id="test" onchange="test();alert(1);" type="file" /> <script> function test(){ var newValue = $("#test").clone(); } </script> </body> </html>
当上传任何一个东西的时候,会进入一个死循环,最终栈溢出。
解决的方法是将onchange事件在外面用jquery动态绑定。