Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery输入事件不工作_Jquery_Events_Input - Fatal编程技术网

Jquery输入事件不工作

Jquery输入事件不工作,jquery,events,input,Jquery,Events,Input,我有以下Jquery代码: $("#search_query").on('input', ChangeMainSearchTerms); function ChangeMainSearchTerms() { currentQuery = $('#search_query').val(); } (currentQuery是一个全局声明的变量。) 以及以下HTML: <input type="text" name="query" id="search_query"> 我的问

我有以下Jquery代码:

$("#search_query").on('input', ChangeMainSearchTerms);

function ChangeMainSearchTerms() {
  currentQuery = $('#search_query').val();
}
currentQuery
是一个全局声明的变量。)

以及以下HTML:

<input type="text" name="query" id="search_query">

我的问题是,当输入事件发生时,没有调用ChangeMainSearchTerms

我尝试将事件更改为单击,当我执行此操作时,ChangeMainSearchTerms函数确实运行了,这表明问题与输入事件有关

当检测到输入事件时,Firefox会向控制台输出“ReferenceError:未定义事件”。Chrome没有输出消息,但我仍然有同样的问题

我在谷歌上搜索了这个问题,发现有些浏览器要求您将事件作为参数之一传递。但是Jquery解决了这个问题,当我将输入事件更改为单击事件时,我不需要这样做(记住我说过这个对象上的单击事件是有效的)


如何修复此问题?

您必须明确地将
事件作为FF:
函数ChangeMainSearchTerms(event){}
上的处理程序参数传递。也就是说,因为您告诉我们它在chrome上也不起作用,所以请提供最低限度的示例来复制您的问题。e、 什么是
ChangeMainSearchTerms
code?它在Chrome48.0v上运行良好。这是代码函数ChangeMainSearchTerms(){currentQuery=$('#搜索_查询')。val();}currentQuery是一个全局声明的变量。访问此功能的其他功能可以成功地执行此操作。我不认为这个函数的内容是相关的,因为它里面的代码本身不运行。不管我是把console.log()放进去还是把断点放进去。@sam你的意思是,如果你只是把它设置为
function ChangeMainSearchTerms(){console.log('called!');}
在console中没有输出???愚蠢的问题,但你的浏览器缓存呢
event
在firefox中未定义,因为firefox没有此属性,您可以将事件作为参数提供给事件处理程序函数
ChangeMainSearchTerms
。但是,您的代码将在Chrome和IE中工作