Javascript 按下enter键时如何显示警报

Javascript 按下enter键时如何显示警报,javascript,dom-events,Javascript,Dom Events,我正在尝试获取警报消息,但它根本不显示。它仅显示我是否从函数myFunctionevent中删除了事件 你能帮我修复它吗?这样当我输入少于三个字母时,它就可以显示警告框了?以下是我一直使用的代码: 函数myFunctioninput,e{ var输入、过滤器、表格、tr、td、i; filter=input.value.toUpperCase; table=document.getElementByIdmyTable; tr=table.getElementsByTagNametr; 如果fi

我正在尝试获取警报消息,但它根本不显示。它仅显示我是否从函数myFunctionevent中删除了事件

你能帮我修复它吗?这样当我输入少于三个字母时,它就可以显示警告框了?以下是我一直使用的代码:

函数myFunctioninput,e{ var输入、过滤器、表格、tr、td、i; filter=input.value.toUpperCase; table=document.getElementByIdmyTable; tr=table.getElementsByTagNametr; 如果filter.length<3&&e.key==输入{ 警觉的 只有当短语至少包含3个字符时,搜索才会起作用。 ; 回来 } 对于i=0;i-1{ tr[i].style.display=; }否则{ tr[i].style.display=none; } } } } 我的顾客 名称 国 阿尔弗雷德·福特基斯特 德国 伯格伦兹蛇 瑞典 岛屿贸易 英国 科尼格利希·埃森 德国 笑巴克斯酒窖 加拿大 马加兹尼营养不良 意大利 北/南 英国 巴黎特色酒店 法国
捕获事件并获取keyCode,如果它等于13,则为enter键

e.key === 13
参见工作示例

函数myFunctioninput,e{ var滤波器,表,tr,td,i; filter=input.value.toUpperCase; table=document.getElementByIdmyTable; tr=table.getElementsByTagNametr; 对于var i=0,t;t=tr[i];++i{ 如果t.className!=='header' t、 style.display='none' } //仅在按下Enter键后开始搜索 如果e.key!=“输入” 回来 //长度>=3 如果过滤器长度<3{ 只有当短语至少包含3个字符时,alertSearch才会起作用。; 回来 } //继续在这里搜索 对于i=0;i-1{ tr[i].style.display=; } } } } 名称 国 阿尔弗雷德·福特基斯特 德国 伯格伦兹蛇 瑞典 岛屿贸易 英国 科尼格利希·埃森 德国 笑巴克斯酒窖 加拿大 马加兹尼营养不良 意大利 北/南 英国 巴黎特色酒店 法国
您不会将事件对象发送到函数中。更改为onkeyup=myFunctionevent@AlexKudryashev当我从myFunction中删除事件并将其添加到onkeyup=myFunctionevent时,if语句filter.length<3的第一部分不起作用。keyCode已弃用。钥匙没问题。问题是不同的。见我上面的评论。e.keyCode是一种定价降低的方法。有关详细信息,请参阅。@AlexKurdryashev您的代码可以工作,但是如果字母数小于3,如何阻止结果显示我正在搜索的内容?代码与警报配合得很好,但当我开始键入第一个字母时,搜索结果开始出现。我希望搜索结果只在我开始键入第三个字母时出现,顺便说一句,感谢您付出的努力和时间:在警报后添加return并在长度检查通过时启动搜索逻辑。请参阅更新的答案。@AlexKurdyashev我按照您的建议用return再次尝试了它,但在键入第一个字母后仍然显示结果:显示您的完整代码。我没有从你的代码片段中得到任何其他发生的线索。请参阅更新的答案。如果它按预期工作,您可以接受它。