在输入文本元素中按下"enter"时停止页面刷新

Pet*_*ell 4 javascript

当在输入文本元素中按下回车按钮时,有没有办法阻止网页完全刷新?

我正在寻找创建一个搜索字段,我可以从按下输入时获取文本以过滤对象,并仅显示包含搜索字段中文本的文本.

我尝试了以下尝试捕捉输入按钮,但它不起作用.

function setupSearchField() {
    document.getElementById("searchField").onKeyDown = function(event) {
        var holder;
        if (window.event) {
            holder = window.event.keyCode;
        } else {
            holder = event.which;
        }
        keyPressed(holder);
    }
}

function keyPressed(key) {
    if (key == 13) {
        event.cancelBubble = true;
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

Nie*_*sol 5

如果input元素位于表单内,并且该表单实际上未提交给服务器,请删除该表单.

您的代码不起作用的原因是因为onkeydown事件应该是小写的,并且您实际上并没有返回其中的内容(尝试return keyPressed(holder);- 或者只是将keyPressed函数的代码移入其中setupSearchField,因为对我来说这似乎没有意义一个单独的功能).