Click внутри js
Доброй ночи
Есть js код, после выбора определенного селекта показывается div. Внутри textarea - при клике на текст должно вставляться внутрь формы. но клик не срабатывает именно внутри этого js <script>var voice_s = { 2: '<div style="margin:2px 0;"></div><b class="bold_style_status">Перевод:</b> <textarea name="voice" id="voice" style="width: 679px;font: 12px Arial, sans-serif;margin-left: 45px;" class="textarea_style" readonly="readonly" rows="5"></textarea><div id="from"><a style="font-weight:normal;" href="#">тут слова</a></div> ' }; function voice_serial(select) { var selected = select.options[select.selectedIndex]; if (selected.value in voice_s) { document.getElementById("voice_serial").innerHTML = voice_s[selected.value]; } else { document.getElementById("voice_serial").innerHTML = ""; } } За клик отвечает этот код (function($){ $(document).ready(function(){ $("#from").tagTo("#voice"); }); })(jQuery); //Author: Realazy //http://realazy.org/blog/ (chinese) jQuery.arrRemove = function(arr, rm){ for (var i = 0, n = 0; i < arr.length; ++i){ if (arr[i] != rm) arr[n++] = arr[i]; } arr.length--; } //usage: jQuery(from).tagTo(target, seperator) //from contain the tags(use a links), target must be assigned and its type must be input type="text" or textarea //seperator can be "-", "," and space etc, if not assign, the default seperator is "," //tclass is the class name of the tag which is currently selected, if not assign, the default class name is "selected" jQuery.fn.tagTo = function(target, seperator, tclass){ if ("string" == typeof target) target = jQuery(target); seperator = arguments[1] || ","; tclass = arguments[2] || "selected"; var tagname = target.get(0).nodeName.toLowerCase(); if (tagname == "input" || tagname == "textarea"){ jQuery('a', this).click(function(){ if (jQuery.trim(target.val()) == ''){ target.val(jQuery(this).text()); jQuery(this).addClass(tclass); } else { var arr = target.val().split(seperator); var isInArr = false; var position; for (var i = 0, n = arr.length; i < n; ++i) { if (jQuery.trim(arr[i]) == jQuery(this).text()){ isInArr = true; position = i; break; } } if (isInArr == true){ jQuery.arrRemove(arr, arr[position]); jQuery(this).removeClass(tclass); } else { arr.push(jQuery(this).text()); jQuery(this).addClass(tclass); } target.val(arr.join(seperator)); } return false; }); } else { throw "target must be an text area"; } } Прошу помочь. Спасибо заранее |
DarknesS,
потому что jQuery не телепат, строка 3 код 2 должна стоять в начале строки 10 код 1. создали элемент, тогда и инициализируйте, а не пустое место. |
Супер)
|
Часовой пояс GMT +3, время: 07:33. |