Вставка в разные textarea
Всем доброго времени суток
Вот не как не могу сообразить, есть textearea, есть функция вставки bb кода в текстовое поле все работает все нормально ) А если например работать с двумя textarea то как узнать какую из них юзает пользователь чтобы именно в нее вставлять bb код? Мне бы просто понять саму суть "логику" работы |
Gertasreg,
понять бы Вашу логику :) Вы ходите сделать одну панель кнопок bb-кодов для двух текстарей? Не стоит. Сделайте для каждой свою, чтоб не запутывать пользователя. |
Ах точно я не совсем уточнил )
для каждой textarea свой блок ббкодов, вставляю после js if ($(".textarea").length) { $(".textarea").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>' ); } Проблема в том что я не могу понять в какую textarea вставлят ббкод если их 2 или больше |
помогите а
|
<style> div.testblock { width:200px; margin: 10px; float: left; } div.testblock>textarea { width:200px; height: 80px; clear:booth; } </style> <div class="testblock"> <textarea></textarea> <input type="button" value="Insert text" /> </div> <div class="testblock"> <textarea></textarea> <input type="button" value="Insert text" /> </div> <div class="testblock"> <textarea></textarea> <input type="button" value="Insert text" /> </div> <script> window.onload = function () { var inps = document.querySelectorAll("div.testblock>input"), len = inps.length; for (; inps[--len].setAttribute("onclick", "ins(this)"), len;); ins = function (el) { var par = el.parentNode || el.parentElement, tar = par.children[0]; tar.innerHTML += "Yes "; } } </script> должно подтолкнуть на нахождение решения :victory: |
Цитата:
|
Gertasreg,
Отслеживать фокус на поле <textarea id=1 onfocus="tst(this)"></textarea> <textarea id=2 onfocus="tst(this)"></textarea> <script> function tst(area) { alert(area.id) } </script> |
kostyanet,
Deff, tabindex я запретил переходы onfocus, а что если пользователь сразу нажмет на ббкод |
Цитата:
Отслеживайте клик на обрамлении кнопок соответствуюшей линейке bb-кодов, определяя кликнутый селектор линейки или фокус техтареа - определяете приписку вставок <script src="http://code.jquery.com/jquery-latest.js"></script> <span class="wrp-area" style="сursor:pointer;float:left;text-align:center">Кнопки 1<br/><br/><textarea id=1></textarea></span><span class="wrp-area" style="сursor:pointer;float:left;text-align:center">Кнопки 2<br/><br/><textarea id=2></textarea></span> <script> $('.wrp-area,.wrp-area textarea').bind('focus click',function () { var id = $(this).find('textarea')[0].id; alert(id); }); </script> |
Попытка №2 :haha:
<style> div.testblock { width:200px; margin: 10px; float: left; } div.testblock>textarea { width:200px; height: 80px; clear:booth; } </style> <div class="testblock"> <textarea></textarea> <div id="panel"> <input type="button" value="A" /> <input type="button" value="B" /> <input type="button" value="C" /> <input type="button" value="D" /> <input type="button" value="E" /> </div> </div> <div class="testblock"> <textarea></textarea> </div> <div class="testblock"> <textarea></textarea> </div> <script> window.onload = function () { var inps = document.querySelectorAll("div.testblock"), len = inps.length; for (; inps[--len].setAttribute("onclick", "edit(this)"), len;); } edit = function (el) { el.appendChild(panel); } panel.onclick = function (e) { e = e || window.event; var el = e.target || e.srcElement; if (el.tagName != "INPUT") return; var par = this.parentNode || this.parentElement, tar = par.children[0]; var myValue = el.value, myValueLen = myValue.length; if (document.selection) { tar.focus(); var sel = document.selection.createRange(); sel.text = myValue; tar.focus(); } else if (tar.selectionStart || tar.selectionStart == '0') { var startPos = tar.selectionStart, endPos = tar.selectionEnd, scrollTop = tar.scrollTop; tar.value = tar.value.substring(0, startPos) + myValue + tar.value.substring(endPos, tar.value.length); tar.focus(); tar.selectionStart = startPos + myValueLen; tar.selectionEnd = startPos + myValueLen; tar.scrollTop = scrollTop; } else { tar.value += myValue; tar.focus(); } } </script> |
Часовой пояс GMT +3, время: 14:34. |