IE10/11克隆textarea时 bug

重现代码

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <script type="text/javascript">
			var ta= document.createElement('textarea')
			ta.placeholder = 'text'
			var clone = ta.cloneNode(true)
			document.body.appendChild(clone)
			alert(clone.value)
        </script>
    </body>
</html>

以上网页代码,在 IE10/11 中输出如下

 

可以看到IE10/11克隆时竟然把值赋给了value,这是一个的bug。

 

其它浏览器输出的均是空字符串。

 

判断是否有该bug的函数提取如下

var hasTextareaCloneBug = function() {
    var t = document.createElement('textarea')
    t.placeholder = 't'
    return t.cloneNode(true).value === 't'
}()

 

posted on 2016-03-16 07:15 snandy 阅读(...) 评论(...) 编辑 收藏

统计