[Ответить в тред] Ответить в тред

16/08/16 - Запущен Двач Трекер
01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений


Новые доски: /obr/ - Offline Battle Rap • /hv/ - Халява в интернете • /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 38 | 5 | 8
Назад Вниз Каталог Обновить

Аноним 17/09/16 Суб 16:26:36  136344480  
14741187969170.jpg (34Кб, 580x360)
Имеется div с атрибутом contenteditable="true" и id="message"
другими словами текст внутри этого блока можно редактировать из окна браузера - заменяет <input type="text">

необходимо создать кнопку по нажатию на которую часть текста которую я выделил становилась жирной

Значит делаем кнопку:
<input type="submit" onclick="bbcode('<b>','</b>'); return false" value="b">

и пишем js функцию:
function bbcode(one,two) {
document.getElementById('message').innerHTML = one+window.getSelection()+two;
}

Получается что заменяется весь текст внутри дива на выделенный в любом месте кусок с подставленными <b> и </b>

как сделать чтобы:
1. window.getSelection() выделял только в блоки с id="message"?
2. чтобы заменяло не весь текст, а только ту часть которую выделил?
Аноним 17/09/16 Суб 16:30:46  136344672
бамп
Аноним 17/09/16 Суб 16:36:24  136344956
бамп
Аноним 17/09/16 Суб 16:43:16  136345345
Как как, элементарно, блять! Пошёл отсюда!
Аноним 17/09/16 Суб 16:44:12  136345400
1. Проверять в фокусе ли нужный div, если нет - выход из функции не вызывая getSelection
2. window.getSelection() возвращает НЕ строку, а мощный объект со множеством методов, пройди по ссылке
https://developer.mozilla.org/en-US/docs/Web/API/Selection

учебный год начался, ура
Аноним 17/09/16 Суб 16:48:23  136345611
бля есть же replace
Делаю так:
document.getElementById('message').innerHTML = document.getElementById('message').innerHTML.replace(window.getSelection(), one+window.getSelection()+two);

Получается выделенные символы заменяются на такиеже но с <b> по бокам, однако проблема в том, что текст может быть таким: "что то - хуйня, что это хуйня" - я выделю вторую хуйню, а жирной станет первая, как сделать так, чтобы стала именно та, которую я выделил?
Аноним 17/09/16 Суб 16:49:50  136345685
>>136345400
в английский не могу
я не учусь уже давно
Аноним 17/09/16 Суб 16:57:55  136346126
14741206752390.png (59Кб, 775x556)
>в английский не могу
плохо, для программирования этот скилл маст-хэв

на пикриле свойство объекта, возвращаемого getSelection. это свойство указывает на номер символа в строке, с которого пошло выделение
Аноним 17/09/16 Суб 17:05:06  136346642
>>136344480 (OP)
var start = pidor[0].selectionStart;
var end = pidor[0].selectionEnd;
Аноним 17/09/16 Суб 17:11:38  136347014
>>136346642
>>136346126
Сложна, я ток начал разбираться с JS, но спс ща буду пытаться это все задействовать
Аноним 17/09/16 Суб 17:15:17  136347227
>>136346642
нет. это только для инпутов и текст-арий. в задаче сказано: contenteditable div
Аноним 17/09/16 Суб 17:15:45  136347248
>>136345400
>Проверять в фокусе ли нужный div
он не в фокусе, потомучто в фокусе кнопка
Аноним 17/09/16 Суб 17:23:13  136347729
14741221939820.jpg (55Кб, 1359x223)
пикрелейтед что за ошибка? Вот написал "хуй" - выделил букву "у" - нажал "b" - буква стала жирной, но в консоле ошибка какаят
Аноним 17/09/16 Суб 17:23:58  136347779
14741222380680.png (40Кб, 713x551)
>>136347248
>>136345400
согласен, хуйню сказал не подумав

решение фокуса примерно вот такое. разумеется с проверками на существование свойств и все дила
Аноним 17/09/16 Суб 17:27:13  136348014
>>136347729
покажи строку 53 файла script.js. ошибка там
Аноним 17/09/16 Суб 17:30:30  136348192
>>136348014
такого файла нет. есть mes.js и на 53 строке закрывается функция которая к сабжу отношения не имеет
она вызывается каждую секунду и проверяет кто онлайн, соответственно должна ошибка появляется сама через секунду независимо от того, что я жму по кнопке

>>136347779
блиа, печет, что не понимаю что на пикрелейт
Аноним 17/09/16 Суб 17:32:59  136348359
>>136348192
> блиа, печет, что не понимаю что на пикрелейт

самое важное там внизу
window.getSelection().focusNode.parentElement === document.getElementById('test1234')
Аноним 17/09/16 Суб 17:33:01  136348360
14741227818870.jpg (15Кб, 462x105)
>>136348014
этопоходу как-то связано с расширением selectlikeaboss
Аноним 17/09/16 Суб 17:37:37  136348663
>>136348360
да, отключил расширение ошибка исчезла
>>136348359
так с фокусом ща поебусь, но как сделать так чтобы заменялось то, что я выделил, я чет не понял
Аноним 17/09/16 Суб 17:39:13  136348776
>>136344480 (OP)
блее, вот объясните мне тупому, кому нахуй нужно вот это вот ваше мозгоебание, ну осилил я все эти хытымылы цыцысы , вдогонку джавы навернул и сишарпой завершил И ЧЕ, я понял что могу, но зачем нихуя не понял. Оно не надо никому, если только наебать вас за копейки
Аноним 17/09/16 Суб 17:40:03  136348827
>>136344480 (OP)
>Значит делаем кнопку:
><input type="submit"
Во-первых, тебе нужен <button type="button" ... />
Во-вторых ты хуй и говно.
В-третьих дальше не читал.
/тред
Аноним 17/09/16 Суб 17:43:30  136349093
>>136348776
А питон забыл ебать, нахуй это все, все уже давно придумано и написано, приложений жопой жри, не хочу, игор дохуищи, ебал я это прогромировоне
Аноним 17/09/16 Суб 17:44:05  136349136
>>136344480 (OP)
>Кнопка
>input type=submit
Зачем? Кнопки можно ведь и иначе пилить и не нужно мучаться с return false и отменой дефолтного действия.

https://gist.github.com/anonymous/8caf7a10fda8dabc52a3143923778829
Посмотри тут. Набросал тебе. Не писал на js два года, так что просто ориентируйся на.
Аноним 17/09/16 Суб 17:45:04  136349200
>>136349093
и домов дохуя построено, но ты ведь всеравно работаешь на стройке разнорабочим
Аноним 17/09/16 Суб 17:55:04  136350013
>>136348663
бамп
Аноним 17/09/16 Суб 17:57:01  136350187
>>136349136
Лол, хуйню написал, select на дивах не работает.
Аноним 17/09/16 Суб 18:00:05  136350431
А я тоже учу ваш ссаный js. Только мне 24, имею диплом бакалавра по айтишной специальности не самого паршивого вуза, но на всех собеседованиях меня слали нахуй. В итоге работаю эникеем за 25к. Есть тут такие же черви-пидоры, как и я?
Аноним 17/09/16 Суб 18:00:24  136350452
>>136350187
Если ты еще тут, то я решил почти все задачи за исключением этой:
>проблема в том, что текст может быть таким: "что то - хуйня, что это хуйня" - я выделю вторую хуйню, а жирной станет первая, как сделать так, чтобы стала именно та, которую я выделил?
Аноним 17/09/16 Суб 18:02:39  136350617
>>136350452
Я ещё тут, пишу код.
Если тебе нужен честный ответ - window.getSelection() такой хуйнёй не занимается, посмотри в сторону jQuery, тебе наверняка с ней придётся познакомиться рано или поздно. Она используется почти всюду именно из-за того, что такой пердолинг невероятный.
Аноним 17/09/16 Суб 18:04:14  136350744
>>136350617
да я в курсе, но надо хуйню задуманную доделать и перейти к нормальному изучению JS / jQuery и всей этой перды
Аноним 17/09/16 Суб 18:05:16  136350825
>>136350431
>но на всех собеседованиях меня слали нахуй
На каких вопросах заваливался?
мимо фронтенд джун
Аноним 17/09/16 Суб 18:05:51  136350875
>>136350744
https://jsfiddle.net/u2w7wqm5/
Аноним 17/09/16 Суб 18:07:30  136351025
Дальше сам, ок?
Аноним 17/09/16 Суб 18:09:18  136351184
>>136350875
спасип, ща буду ковыряться
Аноним 17/09/16 Суб 18:31:01  136352969
>>136350875
ты сделал чтобы просто отображался текст который я выделил?
Аноним 17/09/16 Суб 18:32:20  136353064
>>136352969
Да. Я не очень понял, чего ты хотел, сразу.
Сейчас работаю над этим.
Аноним 17/09/16 Суб 18:36:49  136353431
>>136353064
говорю же это реализовано.
Мне пишут вот что:
>нужно заменять именно selection
>http://devdocs.io/dom/range/surroundcontents
>как-нибудь так.
>Range из Selection получить тривиально
я хуй че понял, потом кинули вот это и оно работает:
https://jsfiddle.net/hok2sp5v/
Аноним 17/09/16 Суб 18:37:50  136353521
>>136353431
Ну и прекрасно.
Аноним 17/09/16 Суб 18:44:24  136354095
>>136353521
не обижайся(

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 38 | 5 | 8
Назад Вверх Каталог Обновить

Топ тредов
Избранное