Google chrome Webkit忽略onwebkitspeechchange回调

Google chrome Webkit忽略onwebkitspeechchange回调,google-chrome,speech-recognition,Google Chrome,Speech Recognition,使用Google Chrome 11版和jquery中提供的语音识别 <input type="text" id="txtAns" x-webkit-speech="x-webkit-speech" onwebkitspeechchange="onChange()" /> 我将onChange()函数放在一个js jquery文件中,该文件在我的网页头部引用 语音识别成功后,应调用onChange函数,但不能调用。如果我在页面上创建一个名为onChange()的java

使用Google Chrome 11版和jquery中提供的语音识别

<input type="text"  id="txtAns" x-webkit-speech="x-webkit-speech"  onwebkitspeechchange="onChange()"  /> 

我将onChange()函数放在一个js jquery文件中,该文件在我的网页头部引用


语音识别成功后,应调用onChange函数,但不能调用。如果我在页面上创建一个名为onChange()的javascript函数,它将被调用。没有调用jquery版本的原因是什么?

我认为应该将脚本放在dom的头部分。尝试将脚本放在底部,如果希望将其包含在头部,也可以尝试添加文档就绪

<input id="queryField" type="text" x-webkit-speech>

Javascript

<script>
var field = document.querySelector('#queryField');
field.onwebkitspeechchange = function(e) {
  console.log("You have spoken");
};
</script>

var field=document.querySelector(“#queryField”);
field.onwebkitspeechchange=函数(e){
console.log(“您已经说过”);
};
jQuery

<script>
  $('#queryField').bind('webkitspeechchange', function() {
    console.log("You have spoken");
  });
</script>

$('#queryField').bind('webkitspeechchange',function(){
console.log(“您已经说过”);
});

您可能想发布不起作用的代码。非常有用的答案。我可以确认使用
bind
的第二种解决方案确实有效。