问题
一个已经有内容的 textarea 元素,在执行该元素的 .focus() 方法后,不同的浏览器有不同表现。我们的预期是能够出现在内容后面,但只有 gecko 浏览器能做到。
修复
注意:这个函数不能直接运行,函数内的 isIE, isOpera 和 isWebkit 需要你的库提供或你编写,这并不难,对吧。
function fixTextareaFocusCursorPosition(elTextarea){
if (isIE || isOpera){
var rng = elTextarea.createTextRange();
rng.text = elTextarea.value;
rng.collapse(false);
} else if (isWebkit) {
elTextarea.select();
window.getSelection().collapseToEnd();
}
}
September 10th, 2008
by 锐风
沙发.
米看懂意思.
September 10th, 2008
by leeight的马甲
Thanks
September 10th, 2008
by 唯一
看起来有点难度 迷糊
September 10th, 2008
by mm
area.value=area.value+”";
September 12th, 2008
by Hangring
在
rng.collapse(false);
之间,需加上:
rng.select();
才有效果,ie6,7下