Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 07.01.2018, 16:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

replace и replaceChild
Ответить с цитированием
  #32 (permalink)  
Старый 07.01.2018, 20:04
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

а можно пример ? допустим как удалить теги <b>
Ответить с цитированием
  #33 (permalink)  
Старый 07.01.2018, 20:07
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

А вообще как вы думаете заменять все теги кроме img с классом class=smile будет правильней либо запретить все теги кроме img с классом class=smile ?
Ответить с цитированием
  #34 (permalink)  
Старый 07.01.2018, 21:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Samsam,
можно заменять, как можно запретить для меня загадка.
Ответить с цитированием
  #35 (permalink)  
Старый 07.01.2018, 21:30
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

если можно приведите пример
Ответить с цитированием
  #36 (permalink)  
Старый 07.01.2018, 22:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Samsam,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$('body').on('input', '.editor', function() {
   this.innerHTML = this.innerHTML.replace(/<[^>]*?>/g , '')
})

});
  </script>
</head>

<body>
<div class="editor" contenteditable>test</div>

</body>
</html>
Ответить с цитированием
  #37 (permalink)  
Старый 07.01.2018, 22:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Samsam,
https://javascript.ru/forum/job/6497...tml#post428912
Ответить с цитированием
  #38 (permalink)  
Старый 09.01.2018, 12:16
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Используя ваши подсказки сделал так .

('body').on('input', '.textarea', function() {
var msg = $(this).html();

//Ищи Img и меняю если это смайл

var a = msg.replace(/<img[^>]+>/g, function(i) { 
	var tag = i.match(/src="([^"]+)"/)[1];
	if (tag == 'http://domen.ru/smiles/1.png') return ':)' ;
        if (tag == 'http://domen.ru/smiles/2.png') return ':(' ;
......

else return '' ;
});  


//Потом удаляю все теги 
var b = a.replace(/<[^>]*?>/g , '');

//Обратно меняю символы на img через функцию
var d = vozvratIMG(b);

// И вывожу
$(this).html(d);
});


Насколько это правильно и годно не знаю но работает. Как вы думаете ?
Проблема в данный момент с кареткой которая после каждого обновления $(this).html(d); становится в конец что приводит к проблеме если нудно изменить текст где то по середине.
Подскажите как мне это решить ?

Последний раз редактировалось Samsam, 09.01.2018 в 12:19.
Ответить с цитированием
  #39 (permalink)  
Старый 09.01.2018, 12:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Samsam
Подскажите как мне это решить ?
запоминать позицию курсора, потом возвращать на это место и хорошо бы ничего не менять, если менять нечего.
медитировать можно на томже плагине, с курсором там вроде всё в порядке
#L232
Ответить с цитированием
  #40 (permalink)  
Старый 09.01.2018, 16:29
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Сообщение от рони Посмотреть сообщение
запоминать позицию курсора, потом возвращать на это место и хорошо бы ничего не менять, если менять нечего.
медитировать можно на томже плагине, с курсором там вроде всё в порядке
#L232
ни как не могу найти решение
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение кода только один раз в несколько секунд. Threaded_Inquisitor Элементы интерфейса 7 18.10.2013 09:15
как запретить вызов функции чаще n раз в несколько секунд ? linklee Общие вопросы Javascript 2 19.07.2013 14:52
Почему не срабатывают функции? allanmiln AJAX и COMET 1 10.04.2013 22:05
Переодическая работа функции adik7960 Общие вопросы Javascript 8 16.12.2012 11:13
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58