2009-10-25 5 views
0

this post 커서를 텍스트 영역에 배치하는 방법을 찾았습니다.커서 위치, jquery

저는 jquery 채팅을 만들고 있는데, textarea에 포함 된 html을 처리하는 textarea의 infront div가있는 간단한 html textarea를 만들고 싶습니다. 어떻게 내가 거기에 표시되는 HTML의 DIV의 끝 위치를 찾을 수 있습니까,

$.fn.selectRange = function(start, end) { 

     return this.each(function() { 
       if(this.setSelectionRange) { 
         this.focus(); 
         this.setSelectionRange(start, end); 
       } else if(this.createTextRange) { 
         var range = this.createTextRange(); 
         range.collapse(true); 
         range.moveEnd('character', end); 
         range.moveStart('character', start); 
         range.select(); 
       } 
     }); 
}; 

마녀가 잘 작동하지만 내 문제는 다음과 같습니다

마크는 다음 스크립트를 게시?

+0

나는 그 질문을 이해하지 못한다. "끝"은 TEXTAREA 선택에 관한 것입니다, 당신은 그것을 이해합니까? 그렇다면 텍스트 영역에서 무엇을 선택 하시겠습니까? – Nickolay

답변

0

텍스트 영역에 포함 된 HTML을 표시하면 채팅에 <img><a>과 같은 태그가 포함될 수 있으므로 태그를 이스케이프 처리해야합니다.

$(document).ready(function(){ 
$('#textchat').keyup(function(){ 
    var txt = $(this).val(); 
    txt = txt.replace(/</g,'&lt;').replace(/>/g,'&gt;'); 
    $('#formatted').html(txt); 
}) 
}) 

* 참고 (참조)

<div id="formatted"></div> 
<textarea id="textchat"></textarea> 

스크립트를

HTML : 당신이 keydown 또는 keypress 만에 keyup를 대체 할 수있는 나는 당신이 원하는 것을 추측, 그래서 이것을 시도하고 있습니다 나는 그것이 더 나은 keyup와 함께 작동 찾으십시오.

관련 문제