#javascript #jquery #textarea
Здравствуйте. Пытаюсь создать что-то похожее на редактор гитарной табулатуры. Проблема
в том, что при попытке ввода с клавиатуры в textarea, она перестает реагировать на
нажатие кнопок вообще. Код:
$(document).ready(function(){
var e =" E | ",
a =" A | ",
d =" D | ",
g =" G | ",
z = "\n",
tabby = $("#tab"),
leng = $("#leng"),
main = "",
now = e + z + a + z + d + z + g + z;
tabby.text(main + z + now);
$("#bb").click(function(){
e += "--";
a += "-2";
d += "--";
g += "--";
now = e + z + a + z + d + z + g + z ;
tabby.text(main + z + now);
leng.html(now.length);
if (now.length >= 184) {
main += z + now;
e =" E | ";
a =" A | ";
d =" D | ";
g =" G | ";
now = e + z + a + z + d + z + g + z;
tabby.text(main + z + now);
}
});
$("#abb").click(function(){
e += "---";
a += "---";
d += "---";
g += "-10";
now = e + z + a + z + d + z + g + z ;
tabby.text(main + z + now);
leng.html(now.length);
if (now.length >= 184) {
main += z + now;
e =" E | ";
a =" A | ";
d =" D | ";
g =" G | ";
now = e + z + a + z + d + z + g + z;
tabby.text(main + z + now);
}
});
});
#tab {
width: 80%;
height: 200px;
background: #999;
display: block;
margin: 0 auto;
font-size: 15px;
}
p {
display: inline-block;
width: 10px;
margin: 0px;
padding: 7px;
}
button {
display: inline-block;
width: 100px;
height: 50px;
margin: 15px auto;
}
#buttons {
width: 245px;
height: auto;
margin: 0 auto;
}
#leng {
display: block;
width: 100%;
height: 40px;
margin: 0 auto;
font-size: 40px;
}
Как это исправить?
З.Ы. Прошу прощения за код. Мои знания js/jquery жутко ограничены.
Ответы
Ответ 1
Использовать .text() для полей ввода не рекомендуется, измените на .val(), всё будет работать. А вот для DIVа .text() самое то и, наверное, даже правильнее .html(), хотя в конкретно этом случае без разницы. $(document).ready(function(){ var e =" E | ", a =" A | ", d =" D | ", g =" G | ", z = "\n", tabby = $("#tab"), leng = $("#leng"), main = "", now = e + z + a + z + d + z + g + z; tabby.val(main + z + now); $("#bb").click(function(){ e += "--"; a += "-2"; d += "--"; g += "--"; now = e + z + a + z + d + z + g + z ; tabby.val(main + z + now); leng.text(now.length); if (now.length >= 184) { main += z + now; e =" E | "; a =" A | "; d =" D | "; g =" G | "; now = e + z + a + z + d + z + g + z; tabby.val(main + z + now); } }); $("#abb").click(function(){ e += "---"; a += "---"; d += "---"; g += "-10"; now = e + z + a + z + d + z + g + z ; tabby.val(main + z + now); leng.text(now.length); if (now.length >= 184) { main += z + now; e =" E | "; a =" A | "; d =" D | "; g =" G | "; now = e + z + a + z + d + z + g + z; tabby.val(main + z + now); } }); }); Чтобы вообще ничего нельзя было вводить в textarea, добавьте в тег "readonly":
Комментариев нет:
Отправить комментарий