找了整個API都沒有createTextRange()
我是想來獲取 焦點在文本框中值的右邊,也就是最後邊,
並且用JS寫了一個,放到Extjs4.0中,提示 createTextRange()為null,請教高人,有沒有好的思路,或其他方法,謝謝
function myfocus(myid) { if (isNav) { document.getElementById(myid).focus(); // 获取焦点
} else { setFocus.call(document.getElementById(myid)); } } var isNav = (window.navigator.appName.toLowerCase().indexOf("netscape") >= 0); var isIE = (window.navigator.appName.toLowerCase().indexOf("microsoft") >= 0); function setFocus() { var range = document.getElementById(this).createTextRange(); //建立文本选区 range.moveStart('character', this.value.length); //选区的起点移到最后去 range.collapse(true); range.select(); }
你写的那js文件时放在ext的ux里面么
沒有,就是放在js裏
createTextRange() 这个你写在哪里啊
@qqmamiao: 我是封裝成js的一個function,然後在extjs的調用的
@Peter.zhong: <script language="javascript">
function setFocus()
{
var obj = event.srcElement;
var txt =obj.createTextRange();
txt.moveStart('character',obj.value.length);
txt.collapse(true);
txt.select();
}
</script>
<input type="text" value="http://toto369.net" onfocus="setFocus()">
你试着用这段代码去试试,这段代码是聚焦控件然后把光标定义到最后
@qqmamiao: 謝謝你!
我用Extjs 綁定一個click事件,也就是下面這樣
Ext.getCmp('btnclick').on('click', function() {
alert("kjjk");
setFocus();
)}
沒有報錯,但是沒有反應,好像沒有執行setFocus()的方法一樣,我之前也寫過一個,效果和你的這樣,方法沒有被執行
@Peter.zhong: 这个问题你解决没~我遇到同样的问题,这个createTextRange()不见了