【发布时间】:2013-07-09 12:43:26
【问题描述】:
我正在尝试创建一个功能正常的搜索框,以突出显示文本中的单词。但是,我无法通过按 Enter 进行搜索。您有什么建议吗?代码中的缺陷在哪里?谢谢!
HTML:
<form>
<input type="text" id="search" onkeypress="if (e.keycode==13) doSearch(document.getElementById('search').value)" placeholder="What are you looking for?">
</form>
JavaScript:
function doSearch(text)
{
if (window.find && window.getSelection)
{
document.designMode = "on";
var sel = window.getSelection();
sel.collapse(document.body, 0);
while (window.find(text))
{
document.getElementById("search").blur();
document.execCommand("HiliteColor", false, "green");
sel.collapseToEnd();
}
document.designMode = "off";
}
else if (document.body.createTextRange)
{
var textRange = document.body.createTextRange();
while (textRange.findText(text))
{
textRange.execCommand("BackColor", false, "green");
textRange.collapse(false);
}
}
}
【问题讨论】:
-
您的具体问题是什么?
-
不能直接定义条件。你会得到 e 的定义吗?
-
@epoch:我的具体问题是当我按下回车键时它不进行搜索。如果我使用按钮和 onmousedown 命令,它确实可以工作,但我不能让它与 onkeypress 一起工作。
-
@DKM:当我在寻找解决方案时,每个答案都使用了这个“e.keycode”部分,所以我认为它属于那里......我想离开它是我的错误像这样。
-
@Zoldkabatos 看到我的回答你也可以这样做:)
标签: javascript onkeypress