Programming
No. | 470 |
Name. | swindler |
Subject. | input 박스내의 커서위치 구하기와 이동하기 |
Main Cate. | Javascript |
Sub Cate. | |
Date. | 2008-09-12 13:08 |
Hit. | 8310 (210.182.190.136) |
File. | |
<form name=frm> <input type=text name=id id="idtext" value="12345678"> </form> <br><br> <script language="javascript"> function WCEditCtrl_setCursorPos(wSrcWnd,oCtrl,elEdit,nPos) { try { var txtRange = elEdit.createTextRange(); txtRange.moveStart( "character", nPos); txtRange.moveEnd( "character", -1*(elEdit.value.length-nPos)); txtRange.select(); } catch (ex) { } } function WCEditCtrl_getCursorPos(wSrcWnd,oCtrl,elElmt) { try { // WCPage_debugTrace(wSrcWnd,"WCEditCtrl_getCursorPos keycode="+wSrcWnd.event.keyCode); if (elElmt == null) elElmt = oCtrl.elEdit; var sOldText = elElmt.value; var objRange = wSrcWnd.document.selection.createRange(); var sOldRange = objRange.text; var sWeirdString = '#%~'; objRange.text = sOldRange + sWeirdString; objRange.moveStart('character', (0 - sOldRange.length - sWeirdString.length)); var sNewText = elElmt.value; objRange.text = sOldRange; //alert(sWeirdString); for (var i=0; i <= sNewText.length; i++) { var sTemp = sNewText.substring(i, i + sWeirdString.length); if (sTemp == sWeirdString) { var cursorPos = (i - sOldRange.length); return cursorPos; } } return null; } catch (ex) { } return null; } function test() { alert(WCEditCtrl_getCursorPos(window, null, window.document.getElementById('idtext'))); } function test2() { WCEditCtrl_setCursorPos(window, null, window.document.getElementById('idtext'),3); } setTimeout(test, 2000); setTimeout(test2, 4000); </script> [바로가기 링크] : http://coolx.net/cboard/develop/470 |
|
|
|
[Modify] [Delete] | [Reply] [List] |