当按下按钮时,我只想在常规文本框中模拟“退格”,删除光标左侧的字符。
谷歌和各种论坛正在就此产生非常随机的结果。执行此操作的正确方法是什么?
这似乎在 Safari 中有效(也可能在 Firefox 中有效),但我还没有在 IE 中测试过它:
function backspaceAtCursor(id)
{
var field = document.getElementById(id);
if(field.selectionStart)
{
var startPos = field.selectionStart;
var endPos = field.selectionEnd;
if(field.selectionStart == field.selectionEnd)
{
field.value = field.value.substring(0, startPos - 1) + field.value.substring(endPos, field.value.length);
field.focus();
field.setSelectionRange(startPos - 1, startPos - 1);
}
else
{
field.value = field.value.substring(0, startPos) + field.value.substring(endPos, field.value.length);
field.focus();
field.setSelectionRange(startPos, startPos);
}
}
}
Use: backspaceAtCursor('elementid')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)