按下在knockoutjs中输入键的页面重新加载

时间:2013-01-02 12:05:59

标签: jquery html knockout.js

我在表格标签内有自动完成的输入控件,如下所示:

 <input type="text" class="tags" data-bind="value: selectedMember(), event: { keypress: $root.DisablePostBack}" />

我为强制选择添加了模糊事件,如下所示:

$(function () {
        $('.tags').autocomplete({
            //make ajax call to get all mentored member of logged member
            source: function (request, response) {
                $.ajax({

                });
            },
            minlength: 0,
            focus: function () {
                // prevent value inserted on focus
                return false;
            },
            select: function (event, ui) {
                self.selectedMember(this.value);
                return false;
            }

        }).blur(
            function () {
                var terms = split(this.value);
                self.selectedMember(terms);
                return false;
            }
                );

模糊事件将在用户输入名称时调用,而不是从自动完成中选择成员并按Enter键。 我的问题是当我按下回车键,页面再次重新加载。按Enter键时如何防止页面重新加载。

*编辑:*要禁用回车键,我添加了一个如下功能:

self.DisablePostBack = function (e) {
    if (e.which == 13) {
        return false;
    }
};

并在该文本框的按键上调用它。但是在键不起作用之后。

2 个答案:

答案 0 :(得分:0)

尝试使用以下内容:

if((e.keyCode == 13) {// do something;
return false;}

e.keyCode == 13 将帮助您检查是否按下了Enter,然后您可以执行一些您的代码,之后您必须返回false以防止浏览器发送数据< / p>

答案 1 :(得分:0)

我已经用按键事件替换了模糊事件,并检查是否按下了回车键:

.keypress(function (e) {
            if (e.which == 13) {
                //write code
            }
        });

现在它的工作没有页面重新加载。我已经用按键替换了模糊,因为在输入按下铬键的键时没有调用模糊。

感谢所有有用的建议。