避免通过前面的javscript代码绑定重定向操作

时间:2018-07-31 09:30:05

标签: javascript jquery easyautocomplete

我使用easyautocomplete插件(http://easyautocomplete.com/guide),我使用一些自定义JavaScript绑定keydown事件来搜索输入,当用户按下“ ENTER”时,该输入会将页面重定向到建议页面 , 但是,即使用户从建议列表中选择一个项目并按Enter,它也会重定向页面。 easyautocomplete提供了一个“ onKeyEnter”事件,该事件仅在从建议中选择一个项目后按“ Enter”键时触发

这是我添加的自定义代码

file, err := os.Create(localitem)

因此,当我们通过向上箭头和向下箭头键从建议列表中选择任何项之后,按Enter键时,我需要停止这种重定向。

easyautocomplete已经有一个事件处理程序,仅捕获列表建议中的“ Enter”按,即,当我们在手动编写内容后仅在输入字段上按Enter时,将不会捕获事件功能

那我该怎么做以防止在eventHandler函数中进行重定向

 jQuery("#input_field").keydown( {
  if(e.which == 13) {
    document.location = "/search_results.php";
  }
});

我不想从输入中永久删除“重定向”操作,只是想避免在特定情况下使用,这就是为什么我不能使用 onKeyEnter : function(){ // stop redirect ......... ....... }

谢谢!

更新

我不确定这是否是最好的方法,但是.off()为我做了工作

window.stop()

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以引入全局变量,例如:

let canRedirect = true;

,对于停止重定向,请将其设置为false。在keypress处理程序中,只需扩展条件:

if (e.which == 13 && canRedirect) {}