js实现 移动光标跟焦点事件
2017-01-06 18:33
393 查看
兼容:google+ie等现代住浏览器;
问题:将光标移动到文本框最后位置
解决:
function toEnd(id) {
var textbox = document.getElementById(id);
var count=textbox.value.length;
if (textbox.createTextRange) {
var r = textbox.createTextRange();
r.collapse(true);
r.moveStart('character',count);
r.select();
} else if (textbox.setSelectionRange) {
event.preventDefault();
textbox.focus();
textbox.setSelectionRange(count,count);
// setTimeout(function () {
// textbox.focus();
// textbox.setSelectionRange(count,count);
// }, 0);
}
}
其中,在ie浏览器中,一切都好说
if (textbox.createTextRange) {
var r = textbox.createTextRange();
r.collapse(true);
r.moveStart('character',count);
r.select();
}
直接就能移动到末尾;
对于google等浏览器,如果事件来自onclick事件,直接需要
textbox.focus();
textbox.setSelectionRange(count,count);
就能解决,如果来自其他事件,需要两种方法来解决:
第一种:阻止浏览器默认事件:
event.preventDefault();
textbox.focus();
textbox.setSelectionRange(count,count);
第二种:因为chrom浏览器存在了某些bug,所以导致使用textbox.setSelectionRange(count,count);会出现事件无效效果,
但是如果把它放在setTimeout 中,便可以解决这个问题。
问题:将光标移动到文本框最后位置
解决:
function toEnd(id) {
var textbox = document.getElementById(id);
var count=textbox.value.length;
if (textbox.createTextRange) {
var r = textbox.createTextRange();
r.collapse(true);
r.moveStart('character',count);
r.select();
} else if (textbox.setSelectionRange) {
event.preventDefault();
textbox.focus();
textbox.setSelectionRange(count,count);
// setTimeout(function () {
// textbox.focus();
// textbox.setSelectionRange(count,count);
// }, 0);
}
}
其中,在ie浏览器中,一切都好说
if (textbox.createTextRange) {
var r = textbox.createTextRange();
r.collapse(true);
r.moveStart('character',count);
r.select();
}
直接就能移动到末尾;
对于google等浏览器,如果事件来自onclick事件,直接需要
textbox.focus();
textbox.setSelectionRange(count,count);
就能解决,如果来自其他事件,需要两种方法来解决:
第一种:阻止浏览器默认事件:
event.preventDefault();
textbox.focus();
textbox.setSelectionRange(count,count);
第二种:因为chrom浏览器存在了某些bug,所以导致使用textbox.setSelectionRange(count,count);会出现事件无效效果,
但是如果把它放在setTimeout 中,便可以解决这个问题。
相关文章推荐
- js实现获取焦点后光标在字符串后
- JS在TextArea光标位置插入文字并实现移动光标到文字末尾
- JS实现文本框和文本域获取焦点focus()时,光标在本文的末尾
- js 给input输入框添加方向键事件移动光标
- js实现全屏漂浮广告移入光标停止移动
- js事件实现通过键盘移动图片
- js实现获取焦点后光标在字符串后
- js实现全屏漂浮广告移入光标停止移动
- JS实现键盘移动光标
- JS在TextArea光标位置插入文字并实现移动光标到文字末尾
- JS 实现跨页事件响应
- 下拉框选择后,失去焦点的JS实现
- 动态添加js事件实现代码
- 通过JS实现文本框获得输入焦点时的状态
- js 失去焦点时关闭层实现代码
- js 实现多事件绑定
- 在WORD中用VBA实现光标移动与内容选择(转)
- Box2DFlash笔记(三)--鼠标移动事件实现
- [Web]如何利用js库dom-drag.js最简单化实现移动图层和点击实现div居上问题