Показать сообщение отдельно
  #6 (permalink)  
Старый 30.07.2012, 01:05
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Apollo_440
как получить каретку в contenteditable
ну читаете весь контент - определяете положение каретки - далее регуляркой - определяете ближайшие пробелы в контенте от положения каретки - это и есть границы слова...

function FindWord(str,pos) { //alert(' pos='+pos+'\n'+str)
 var L =str.length;
 var Le =L-pos;
 //1 стоим не на пробеле ? //
if(str.substring(pos,pos+1).search(/\s/i)!=-1)return false;
//2 определяем начало слова
 for(var i=pos; i>-1; i--){//alert(i)
    if(str.substring(i,pos).search(/\s/i)!=-1)break;
 }
 var st = 0;if(i)st=i+1;
 for(var i=pos; i<L; i++){//alert(i)
    if(str.substring(i,pos).search(/\s/i)!=-1)break;
 }
 var end = L-1;if(i)end=i-1;
 return str.substring(st,end)
}
var str = 'ну читаете весь контент - определяете положение каретки - далее регуляркой - определяете ближайшие \
пробелы в контенте от положения каретки - это и есть границы слова...'
var pos=39; 

alert(FindWord(str,pos))

Последний раз редактировалось Deff, 30.07.2012 в 01:47.
Ответить с цитированием