Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Половина кода преобразовуется, другая - нет (https://javascript.ru/forum/dom-window/29520-polovina-koda-preobrazovuetsya-drugaya-net.html)

Александр х@к 01.07.2012 19:39

Половина кода преобразовуется, другая - нет
 
Здравствуйте,
На сайте перечитывал учебник, статья: события клавиатуры.
Из исходника вытащил код)
Вот он:
<!DOCTYPE HTML>
<html>
  <head> 
    <title>События клавиатуры</title></head>
  <body>
      Предотвратить действие по умолчанию для:<label><input type="checkbox" value="1" name="keydownStop"/> keydown</label>   <label><input type="checkbox" value="1" name="keypressStop"/> keypress</label>   <label><input type="checkbox" value="1" name="keyupStop"/> keyup</label><br/>
        Игнорировать:<label><input type="checkbox" value="1" name="keydownIgnore"/> keydown</label>   <label><input type="checkbox" value="1" name="keypressIgnore"/> keypress</label>   <label><input type="checkbox" value="1" name="keyupIgnore"/> keyup</label><br/>

Сфокусируйтесь на поле и нажмите какую-нибудь клавишу.<br/>
<input type="text" id="kinput" placeholder="Поле для тестов" style="font-size: 150%; width: 400px;"/><br/>
Журнал:<br/>
 <textarea style="width: 402px; border: 1px solid black; height: 303px;" rows="18"/>
 <input type="button" onclick="logClear('key')" value="Очистить"/></p>

   
 <script>
$(function() {
document.getElementById('kinput').onkeydown = khandle
document.getElementById('kinput').onkeyup = khandle
document.getElementById('kinput').onkeypress = khandle
})

function khandle(e) {
debugger
  e = e || event
  if (document.forms.keyform[e.type + 'Ignore'].checked) return
   
  var evt = e.type
  while (evt.length < 10) evt += ' '
  showmesg(evt + 
    ' keyCode=' + e.keyCode + 
    ' which=' + e.which + 
    ' charCode=' + e.charCode +
    ' char=' + String.fromCharCode(e.keyCode || e.charCode) +
    (e.shiftKey ? ' +shift' : '') +
    (e.ctrlKey ? ' +ctrl' : '') +
    (e.altKey ? ' +alt' : '') +
    (e.metaKey ? ' +meta' : ''), 'key'
  )
  
  if (document.forms.keyform[e.type + 'Stop'].checked) {
    e.preventDefault ? e.preventDefault() : (e.returnValue = false)
  }
}
</script>
<style>
.key {
  border: 1px solid black;
  padding: 0 1px;
  display: inline-block;
  margin: 1px 0;
}
</style>
</head>

   
  </body>
</html>


Всё хорошо(почти), первая часть(по слово "Журнал" всё идет прекрасно),
но яваскрипт не хочет работать, ну как не хочет он записал себя в журнал.
Если не понятно выполните этот код и всё станет понятно.
Как всё сделать норм?

vadim5june 01.07.2012 20:18

У Вас наверно не весь код
в частности используется функция showmesg-но она нигде неопределена

Александр х@к 01.07.2012 20:54

Вот ссылка:
http://learn.javascript.ru/keyboard-events
Тема "тестовый стенд".
Посмотрел исходный код, увидел что прямого скрипта нет, есть только ссылка(<script src="/files/tutorial/browser/events/log.js"></script>)
Как же все сделать?

vadim5june 01.07.2012 20:57

можно и самому написать примерно так
function showmesg(txt){document.getElementsByTagName('textarea')[0].value+=txt;};

Александр х@к 01.07.2012 21:01

думаешь этого достаточно?
и куда его вмостить?


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