onclick на ссылке
Всем привет) Как изменить содержание параграфа после клика по ссылке?
Делаю так: function text(a){ <script language="javascript"> function text(){ var a = document.getElementById('par'); a.innerHTML = 'измененный текст параграфа'; } </script> <p id="par"></p> <a href="javascript:void(0)" onclick="text('#par');">Ссылка</a> <textarea onclick="text()"></textarea> клик по ссылке не работает, а по полю работает, почему?) И почему не работает такая конструкция: <script language="javascript"> function text(a) { a.innerHTML = 'измененный текст параграфа'; } </script> <p id="par"></p> <a href="javascript:void(0)"onclick="text('#par');">� �сылка</a> <textarea onclick="text('#par')"></textarea> |
Цитата:
<a href="#" onclick="console.log( text ); return false;">Ссылка</a> выводит в консоль "Ссылка". Не знаю как в других браузерах, но лучше поменять имя функции. Это во-первых. #par - зачем #??? И как это вообще должно работать?:) |
Цитата:
|
Вложений: 2
Появился ещё один вопрос. Чтоб не создавать лишнюю тему, я его сдесь напишу, если никто не против)
Есть скрытая форма на хтмл, после нажатия на ссылку "добавить комментарий", она с помощью $(переменная).animate({блаблабл� �}); становится видимой, и плавно раскрывается. Но, т.к. эта форма расположена в конце странцы после раскрытия, страница увеличивается, и форма "уезжает" вниз, и пользователю видно только её начало и чтоб увидеть её полностью нужно немного прокрутить страницу вниз. Как сделать так, чтоб после(или во время) раскрытия формы вид фокусировался на ней? скрины в прикреплённых файлах(на дизайн и текст не обращайте внимания:) ) |
$("body").animate({ scrollTop : "+=100px" // Прокрутить вниз на 100 пикселей... }, 1000); // ... за 1000 мс (1 с) |
Цитата:
|
Если никто не против я здесь спрошу, от добавил к ссылке событие onclick
<a onclick="dell(1);" href="javascript:void(0)" id="1">Удалить</a> Добавил обработчик $(function() { //функция которая удаляет function dell(i){ alert("hellow"); alert(i); }; }); Кликаю по ссылке и ниче не рабобтает, как сделать чтобы работало? |
В общем разобрался, сделал через класс, а почему у меня функция только один первый раз вызывается, а потом когда я второй раз кликаю по ссылке она больше не вызывается, вот ссылка и функция
<a href="javascript:void(0)" class="kkk" id="2">Удалить</a> $(".kkk").click(function() { alert("hellow world"); //1 получаем массивы элементов /* alert(this.id); var a=$("#menu a"); var c=$("#content div"); // alert(this.id); a[this.id].remove(); c[this.id].remove();*/ ff(); }); После вызова функции ff(); alert("hellow world") уже не выводится, в чем проблема? Функция ff() ниче не меняет, просто заново генерирует два блока из третьего. Что может происходить, почему после вызова ff() перестает вызываться обработчик? |
От полностью код, обработчик клик один раз вызывается, остальные разы не реагирует че так?
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> #edit > p:after{ content: "Переместить"; margin-left: 10px; } #edit { width: 500px; } #menu a{ margin: 5px; } #block a{ margin: 5px; } .block{ background-color:red; } #content a{ margin: 5px; } </style> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <script> $(function() { function ff() { //1 получаем массивы элементов var a=$("#menu a"); var c=$("#content div"); //var d=new Array(); var d=[]; //2. обходим элементы в цикле for(i=0;i<c.length;i++) { var z=$("</p>",{//создаем параграф data: { b: "b" } }); //создаем ссылку var hr=$("<a/>",{ id: i, class: "kkk", text: "Удалить", href: "javascript:void(0)", }); z.append([hr]);//добавляем в параграф d[i]=z; } $("#edit").text(""); $("#edit").append(d); } ff(); //функция сотрировки $("#edit").sortable({ stop: function(a, b) { var c = $.map($("#edit p"), function(a,k) { return $(a).data("b") }); var d = $.map($("#edit p"), function(a,k) { return $(a).data("bb") }); $("#menu").append(c); $("#content").append(d); // ff(); } }); $("#select").change(function() { if ($("#select option:selected").val() == 'textarea') { $("#options").html('text: <textarea id="textarea"></textarea>'); } if ($("#select option:selected").val() == 'img') { $("#options").html('link: <input id="image">'); } }); $(".kkk").click(function() { // alert("hellow world"); //1 получаем массивы элементов alert(this.id); var a=$("#menu a"); var c=$("#content div"); alert(this.id); a[this.id].remove(); c[this.id].remove(); ff(); }); }); </script> </head> <body> <div id="menu"> <a href="#dfdf">1df</a> <a href="#fgg44">2fsdfsd</a> <a href="#Df324">3dsfdsf</a> </div> <hr> <div id="content"> <div id="dfdf">12</div> <div id="fgg44">45yth</div> <div id="Df324">64h<b>eh</b>w</div> </div> <hr> <div id="edit"></div> <hr> <br> </body> </html> |
Я один элемент могу только удалить, потом ниче не выходит???
После вызова функции ff в обработчике перестает работать, как это исправить и почему так? так что никто не знает? |
Часовой пояс GMT +3, время: 03:53. |