내 contenteditable div에 통합과 같은 페이스 북을 구현하려고합니다. '$'와 'a'와 같은 일부 문자를 입력하면 팝업이 필요한 자동 제안이 필요합니다. 내 캐럿 위치 근처.자바 스크립트에서 캐럿 위치 앞에 마지막 문자 가져 오기
IE 및 다른 브라우저 용 JavaScript에서 캐럿 위치 앞에있는 마지막 문자를 찾는 방법을 알아야합니다. Jquery 라이브러리에 액세스 할 수 있습니다.
(function($) {
$.fn.getCursorPosition = function() {
var input = this.get(0);
if (!input) return; // No (input) element found
if ('selectionStart' in input) {
// Standard-compliant browsers
return input.selectionStart;
} else if (document.selection) {
// IE
input.focus();
var sel = document.selection.createRange();
var selLen = document.selection.createRange().text.length;
sel.moveStart('character', -input.value.length);
return sel.text.length - selLen;
}
}
})(jQuery);
eg.
var caretPosition = $("#contenteditablediv").getCursorPosition();
var lastchar = getchar(caretposition -1);???
그 기능은 비 IE 브라우저에서의 contentEditable 요소 작동하지 않습니다. 그것은 입력과 텍스트 영역을위한 것입니다. –
예 예일뿐입니다. 당신이 나에게 캐럿 위치 전에 마지막 문자를 찾는 다른 방법을 제안 할 수 있습니까? – Anoop