Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ввод текста в div при нажатии клавиши (https://javascript.ru/forum/dom-window/61403-vvod-teksta-v-div-pri-nazhatii-klavishi.html)

demamon 17.02.2016 06:23

Ввод текста в div при нажатии клавиши
 
Есть некий div, нужно что бы при нажатии, например, enter'a появлялось окошко и туда пользователь мог вводить текст который сохранялся бы в div. Мышку использовать нельзя так как на ней висят другие действия.
Тут сама работа https://jsfiddle.net/xbLrq9uu/27/

demamon 17.02.2016 08:30

скрипт который по сути должен работать.
document.getElementById('div_main').ondblclick=fun ction()
{
var s;
s = prompt("Какой текст добавить в блок ?");
div.innerHTML = s;
}

Не могу его к своему диву привязать

destus 17.02.2016 08:58

А что за div? Эта переменная где-то раньше объявляется?

demamon 17.02.2016 09:23

Да. https://jsfiddle.net/xbLrq9uu/49/ тот div - прямоугольник который можно по полю таскать и растягивать.

destus 17.02.2016 09:38

Цитата:

Сообщение от demamon (Сообщение 408114)
Да. https://jsfiddle.net/xbLrq9uu/49/ тот div - прямоугольник который можно по полю таскать и растягивать.

Что-то не вижу чтобы переменная div была в JS объявлена, с соответствующей ссылкой на DOM элемент. Попробуй так.

document.getElementById('div_main').ondblclick=function() 
{ 
var s; 
s = prompt("Какой текст добавить в блок ?"); 
this.innerHTML = s; 
}

demamon 17.02.2016 11:01

Нет, не работает. Может что у дива прописать надо. Как реакцию на нажатие мыши? Просто если с активацией переноса и растягивания понятно, там события нажатия с именами функций связываются. То как сделать здесь не совсем понятно

destus 17.02.2016 11:24

Цитата:

Сообщение от demamon (Сообщение 408126)
Может что у дива прописать надо. Как реакцию на нажатие мыши?

ondblclick- двойной клик на div. Что у вас не работает? Может DOM дерево ещё не загрузилось? Тогда так

<script>
        document.addEventListener('DOMContentLoaded',function(){
            document.getElementById('div_main').ondblclick = function () {
                var s;
                s = prompt("Какой текст добавить в блок ?");
                this.innerHTML = s;
            }
        }) 
    </script>


<style>
div{
            width : 100px;
            height: 100px;
            border: 1px solid black;
        }
</style>
    <script>
        document.addEventListener('DOMContentLoaded',function(){
            document.getElementById('div_main').ondblclick = function () {
                var s;
                s = prompt("Какой текст добавить в блок ?");
                this.innerHTML = s;
            }
        }) 
    </script>
<div id="div_main"></div>

demamon 17.02.2016 11:55

Работает, спасибо


Часовой пояс GMT +3, время: 10:21.