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, время: 02:25. |