Я играл сегодня с этой функцией, и на самом деле ваш код, кажется, в порядке и работает для меня.Полная версия будет выглядеть следующим образом:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Speech</title>
</head>
<script type="text/javascript" charset="utf-8">
function onChange() {
alert('changed');
}
</script>
<body>
<input id="speechInput" type="text" style="font-size:25px;"
x-webkit-speech onwebkitspeechchange="onChange()" />
</body>
</html>
Хотя я заметил, что onChange () не вызывается, если Chrome не может распознать речь.Я использую Chrome 11.0.696.28 бета.Кроме того, атрибут речи не требуется, если вы ориентируетесь только на браузеры на основе веб-наборов, такие как Chrome или Safari.И даже если вы оставите его внутри, он не будет работать с Firefox 4. Не уверен насчет IE9, поскольку у меня его нет.