Edit in JSFiddle

$(function() {
    var viewModel = {
        // data
        items: ko.observableArray([]),
        itemToAdd: ko.observable(""),

        // behaviors
        addItem: function() {
            this.items.push({ name: this.itemToAdd() });
            this.itemToAdd("");
        },
        
        addOnEnter: function(data, event) {
            var keyCode = (event.which ? event.which : event.keyCode);
            if (keyCode === 13) {
                this.addItem();
                return false;
            }
            return true;
        }
        
    };
    ko.applyBindings(viewModel);
});
<input type="text" data-bind="value: itemToAdd, valueUpdate: 'afterkeydown', event: { keypress: addOnEnter }" />
<button data-bind="click: addItem">Add</button>
<ul>
    <!-- ko foreach: items -->
    <li><span data-bind="text: name"/></li>
    <!-- /ko -->
</ul>