2010-07-20 2 views
0

Например, я использую следующую функцию:Есть ли способ обновить dom без использования курсора мыши?

$('body').html(function(i,html) { 
    var arr = html.split(". "); 
    arr[arr.length-1]="<span class='findme' >"+arr[arr.length-1]+"</span>&nbsp;"; 
    alert(arr) 
    return arr.join(". "); 
}); 

Проблема заключается в том, что перемещает курсор в сторону, с которой пользователь печатал. Кто-нибудь еще видел это?

ответ

1

Установив HTML-код любого элемента, вы по существу сбросите все его содержимое! Все обработчики событий, все состояния и свойства DOM, и это включает в себя любой элемент, который в настоящее время имеет «фокус».

Используйте DOM API так, как он был предназначен.

Похоже, вы хотите обернуть контент, следующий за последним периодом на странице, с помощью <span>. Чтобы сделать это правильно, вам нужно пройти через проверку DOM для текстовых узлов, которые содержат период, а затем заменить часть найденного текстового узла элементом <span>.

+0

+1. J-P абсолютно прав: вы должны иметь дело с текстовыми узлами, а не с строками HTML. –

+0

Интересно, можете ли вы привести пример работы с текстовыми узлами? – WozPoz

+0

также, будет ли использовать текстовые узлы не воздействовать на мышь? – WozPoz

Смежные вопросы