Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставка в разные textarea (https://javascript.ru/forum/misc/44779-vstavka-v-raznye-textarea.html)

Gertasreg 02.02.2014 15:12

Deff,
:blink: это оказалось настолько просто, большое спасибо )
Poznakomlus,
Спасибо, да твой код реально подтолкнул на идею

Gertasreg 02.02.2014 15:20

Deff,
Poznakomlus,
Спасибо вам большое

Gertasreg 02.02.2014 16:42

вот че намутил ))
if ($(".mytextarea").length) {
			$(".mytextarea").wrap("<div class='wrasp_t'></div>");
			$(".mytextarea").before(
				'<ul class="redactor_toolbar">' + 
					'<li><a href="javascript:;" data-id="b" class="redactor_bold"></a></li>' +
					'<li><a href="javascript:;" class="redactor_underlined"></a></li>' + 
					'<li><a href="javascript:;" class="redactor_italic"></a></li>' + 
					'<li><a href="javascript:;" class="redactor_image"></a></li>' + 
					'<li><a href="javascript:;" class="redactor_link"></a></li>' + 
					'<li><a href="javascript:;" class="redactor_video"></a></li>' + 
				'</ul>'
			);
		}


		$(".form .redactor_toolbar li a").click(function(e) {
			var myKey = $(this).attr('data-id');
			console.log(this.parentNode.parentNode.parentNode.children[1]);
			var allCodes = {
				b: {Open: '[b]', Close: '[/b]'},
				u: {Open: '[u]', Close: '[/u]'},
				i: {Open: '[i]', Close: '[/i]'},
				php: {Open: '[php]', Close: '[/php]'},
				img: {Open: '[img]', Close: '[/img]'}
			};
			
			var myField = this.parentNode.parentNode.parentNode.children[1];
			var myValue = allCodes[myKey].Open + allCodes[myKey].Close;
			if (document.selection) { 
				myField.focus(); 
				document.selection.createRange().text = myValue; 
			} 
			else if (myField.selectionStart || myField.selectionStart == '0') { 
				var position = myField.selectionStart; 
				myField.value = myField.value.substring(0,myField.selectionStart) + myValue + myField.value.substring(myField.selectionEnd,myField.value.length); 
				myField.selectionStart = myField.selectionEnd = position  + allCodes[myKey].Open.length; 
			} else { 
				myField.value += myValue; 
			} 
			myField.focus();
		});

kostyanet 03.02.2014 08:50

Цитата:

Сообщение от Gertasreg
Ах точно я не совсем уточнил )
для каждой textarea свой блок ббкодов, вставляю после js

Это наверно потому что на вебе модальными окнами стали называть х знает что в стиле залить пагу черным и посредине нарисовать нечто. В таком случае скажем меню браузера view image тоже открывает модальное окно.

В нормальном программировании таких вопросов не возникает потому что модальное окно - объект и совершенно невозможно выполнить операцию в неактивном окне когда нажата кнопка для активного. Не говоря о случаях когда в этом окне еще и тулбар свой.

Дожились...

kostyanet 03.02.2014 08:52

Другими словами у вас должно быть примерно так

var ed_left = new Editor();
var ed_right = new Editor();

и ничего проверять уже не надо.


Часовой пояс GMT +3, время: 09:51.