首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按enter键时,击倒键不绑定。

问按enter键时,击倒键不绑定。
EN

Stack Overflow用户
提问于 2016-11-18 18:05:41
回答 2查看 1K关注 0票数 1

我试图启用搜索功能时,用户按回车使用敲除,但当我按回车在文本框,敲除不绑定从textbox的值

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <title>Knockout</title>
    <meta charset="utf-8" />
</head>
<body>
    <div id="view">
        <input type="text" placeholder="Press enter to bind" data-bind="value:textboxValue"  data-function="pressEnterToBind"/> 
    </div>
</body>
</html>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="http://knockoutjs.com/downloads/knockout-3.4.1.js"></script>
<script>
    $(document).ready(function () {
        window.vm = (function ($, ko) {
            var $view = $("#view");
            var textboxValue = ko.observable();

            var onPressEnter = function (e) {
                if (e.which === 13) {
                    alert(textboxValue());
                }
            },
            init = function () {
                $view.on('keypress', '[data-function="pressEnterToBind"]', onPressEnter);
            };

            init();

            return {
                textboxValue: textboxValue
            };
        }($, ko));

        window.vm.binding = (function (ko, vm) {
            ko.applyBindings(vm);
        })(ko, window.vm);
    });
</script>

警报的结果是“未定义”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-18 18:14:06

我通过两种方式达到了我的目标

首先:在敲除绑定中添加"valueUpdate:'afterkeydown'“

代码语言:javascript
复制
<input type="text" placeholder="Press enter to bind" data-bind="value:textboxValue,valueUpdate: 'afterkeydown'"  data-function="pressEnterToBind"/>  

或

第二:“模糊()”和“焦点()”再次出现在目标控制上。

代码语言:javascript
复制
            var onPressEnter = function (e) {
                if (e.which === 13) {
                    $(e.target).blur(); // to refresh ko binding
                    alert(textboxValue());
                    $(e.target).focus(); // to refresh ko binding
                }
            },
票数 0
EN

Stack Overflow用户

发布于 2016-11-21 14:41:22

textInput绑定可以解决这一问题。

KnockoutJS文档:

与值绑定不同,textInput为所有类型的用户输入提供了DOM的即时更新,包括自动完成、拖放和剪贴板事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40683435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档