Jquery输入事件不工作
我有以下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"> 我的问
$("#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中工作