再次回到我的框架。我有一个方法可以获取元素的值,清除 dom 中元素的值,然后一个字母一个字母地放回去。在 Chome、FF 和 IE (10) 中对其进行了测试。一切正常。但是IE有个小问题。如果我在脚本执行时刷新页面,它不会清除元素的值。或者在它之后,并没有真正的区别。
<textarea cols="60" id="textarea">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas suscipit lacus non hendrerit cursus.
</textarea>
<script>
(function(){
(this[arguments[0]] = function selector(id){
if(!(this instanceof selector)) {
return new selector(id);
}
this.elm = document.getElementById(id);
}).prototype = {
type: function(delay) {
var elm = this.elm;
var status;
if ('value' in elm) {
var text = elm.value;
elm.value = "";
status = 0;
} else if ('innerHTML' in elm) {
var text = elm.innerHTML;
elm.innerHTML = "";
status = 1;
}
var letters = text.split("");
var counter = 0;
function write() {
if (counter < letters.length) {
switch (status) {
case 0: elm.value += letters[counter]; break;
case 1: elm.innerHTML += letters[counter]; break;
}
}
counter += 1;
}
setInterval(write, delay);
},
};
})('$');
$('textarea').type("100");
这是与 IE 相关的问题还是我在代码中遗漏了什么?我觉得可能是IE>.>