Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2021, 11:03
Аспирант
Отправить личное сообщение для ekad Посмотреть профиль Найти все сообщения от ekad
 
Регистрация: 17.04.2013
Сообщений: 35

Как сделать отступ при вставке картинки и печать жирным шрифтом в div
1. При нажатии вставляется картинка. Как добавить отступ от картинки вниз на один курсор, то есть чтобы при нажатии вставилась картинка и мигал курсор строкой ниже от картинки?
2. При нажатии на жирный шрифт, что бы курсор перешел в режим жирного шрифта?
var o=document.getElementById('box');
o.onclick = function() {
var img = new Image();
var div = document.getElementById('box');
div.appendChild(img);
img.src ='https://ru.wikipedia.org/static/images/project-logos/ruwiki.png';
img.className = "image";	
}

<div onclick="bold();">жирный фрифт</div>
<div contenteditable="true" style="height:200px;width:200px;" id="box"></div>
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2021, 11:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от ekad
и мигал курсор строкой ниже от картинки?
Курсор появляется в элементах для редактирования (по дефолту), таких как
<input />
<textarea></textarea>

У тебя их пока нет...
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2021, 12:06
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Сообщение от ksa
Курсор появляется в элементах для редактирования (по дефолту), таких как
<input />
<textarea></textarea>

У тебя их пока нет...
И в элементах с contenteditable="true"
А там такой есть.
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2021, 12:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Тогда, возможно будет достаточно, вставить картинку в еще один блок...

А "жирность" включать на весь box?
Или только на некоторую часть текста?
Ответить с цитированием
  #5 (permalink)  
Старый 14.12.2021, 12:15
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Сообщение от ksa
А "жирность" включать на весь box?
Или только на некоторую часть текста?
Я так понял, что при нажатии на "жирность" весь текст, который должен печататься дальше должен быть жирным.

Я никогда не делал такие редакторы, так что ничего путного тут не скажу.
Ответить с цитированием
  #6 (permalink)  
Старый 14.12.2021, 12:26
Аспирант
Отправить личное сообщение для ekad Посмотреть профиль Найти все сообщения от ekad
 
Регистрация: 17.04.2013
Сообщений: 35

Сообщение от ksa Посмотреть сообщение
Тогда, возможно будет достаточно, вставить картинку в еще один блок...

А "жирность" включать на весь box?
Или только на некоторую часть текста?
при нажатии дальше печатается жирным еще раз при нажатии нормальным
Ответить с цитированием
  #7 (permalink)  
Старый 14.12.2021, 12:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

ekad, вот вариант с курсором...
Но это вовсе упрощенно.
Вот почитай что пишут про позиционирование в таких редактируемых блоках
https://askdev.ru/q/kak-ustanovit-po...ent-div-13745/
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--
<script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
-->
<style>
#box {
	border: 1px solid;
	padding: 10px;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', _ => {
	const o = document.getElementById('box');
	o.onclick = function() {
		const d = document.createElement('div')
		const b = document.createElement('br')
		const img = new Image();
		img.src ='https://ru.wikipedia.org/static/images/project-logos/ruwiki.png';
		img.className = "image";	
		o.appendChild(img);
		d.appendChild(b);
		o.appendChild(d);
		const range = document.createRange()
		const sel = window.getSelection()
		range.setStart(o.childNodes[1], 0)
		range.collapse(true)
		sel.removeAllRanges()
		sel.addRange(range)
	}
})
function bold() {
}
</script>
</head>
<body>
<div onclick="bold();">жирный фрифт</div>
<div contenteditable="true" style="height:200px;width:200px;" id="box"></div>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 14.12.2021, 12:59
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от ekad
при нажатии дальше печатается жирным еще раз при нажатии нормальным
Нашел еще вот такую статейку по этому "редактору"...
https://snipp.ru/php/contenteditable

Может тебе поможет.
Ответить с цитированием
  #9 (permalink)  
Старый 14.12.2021, 13:24
Аспирант
Отправить личное сообщение для ekad Посмотреть профиль Найти все сообщения от ekad
 
Регистрация: 17.04.2013
Сообщений: 35

Спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать меню 3 картинками, чтобы при нажатии на стрелки вправо и влево картинки п mut4bor jQuery 2 29.11.2021 07:32
Как запретить прокрутку страницы при грозонтальной прокрутке внутреннего div? shurik_shink Events/DOM/Window 1 26.04.2016 15:50
Как изменить css одного div при наведении на другой с javascript? InkyThousand Общие вопросы Javascript 7 11.11.2014 16:35
Как сделать печать страницы (с фонами)? khusamov Общие вопросы Javascript 3 20.07.2009 14:22
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24