contentaditable divのようにFacebookを実装しようとしています。 '$'と 'a'のような文字を入力すると、私のキャレットポジション近く。JavaScriptのキャレット位置の前に最後の文字を取得
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