对挖空.JS输入值进行后处理

Postprocessing an Knockout.JS input value

本文关键字:后处理 输入 JS      更新时间:2023-09-26

我有一个带有挖空值的基本输入字段:

<input type="text" data-bind="value: mytext"/>

但是,我想在收到"mytext"的值后对我的视图模型执行 som 逻辑。最初我想到了某种后处理事件ala "valueUpdate",但基本上我只想在点击"enter"og"space"后运行一个函数。我是否需要编写一个新的绑定处理程序,或者是否有更直接的淘汰赛专有方法来执行此操作?

基本上我试图做的是jquery/autocomplete/multible和Ryan Niemeyers淘汰排序示例 http://jsfiddle.net/rniemeyer/vgXNX 的组合。

My 在div.item 之后的div.container 中,替换了"添加任务",例如:

<div class="container">
     <div class="item" data-bind="sortable:{template:'tagsTmpl',data:myTags, allowDrop:true"></div>
     <input data-bind="value: mytext, event: {keypress: handleKey}"/>
     <!-- Line above replacing this: <a href="#" data-bind="click: $root.addTag">Add Tag</a> -->                    
 </div>

基本上我只想在点击"输入"和"空格"后运行一个函数。

可以使用event绑定。

ko.applyBindings({
    mytext: ko.observable("initial value"),
    handleKey: function(data, event) {
        if (event.keyCode == 0x20) {
            console.log("Space has been pressed!");
        }
        return true;
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<input type="text" data-bind="value: mytext, event: {keypress: handleKey}" />