监听文本框的回车键按下事件

3

当用户在文本框中按下回车键时,我希望能够看到一个警告提示。在 jQuery 中,我可以检查每个键盘事件,并在其键码为 13 时触发一个警报。

这是一个我可以轻松使用 Knockout 的位置吗?

如何在按下文本框的回车键时触发一个函数?


这不是使用Knockout的地方吧? - Kuttan Sujith
听起来你已经解决了问题。有什么问题吗?展示一下你的代码并解释为什么它不能按照你想要的方式工作。 - Alex Wayne
你的标题说“触发”,你的描述说“监听”。哪一个是正确的? - John Dvorak
在 Knockout 中,事件绑定在这里有详细的描述:http://knockoutjs.com/documentation/event-binding.html - John Dvorak
2个回答

8
当然可以。使用event绑定来添加一个keypress事件处理程序,并执行您想要的操作。在您的处理程序上第二个参数是事件对象。当检测到按下回车键时,您可以执行任何操作。
<input type="text" data-bind="value: message, event: { 'keypress': keypress }"/>

function ViewModel(data) {
    var self = this;
    self.message = ko.observable(data.message);

    var KBD_ENTER = 13;
    self.keypress = function (data, event) {
        if (event.which == KBD_ENTER) {
            alert('hey! you pressed enter.');
        }

        // let the event propagate (if you want)
        return true;
    };
}

Demo


7

使用jQuery:

$("#div").bind("keypress", function(event) {
    if(event.which == 13) {
    event.preventDefault();
        // TRIGGER YOUR FUNCTION
    }
});

你误解了问题。他不想触发事件。他希望在事件发生时触发自己的函数。 - John Dvorak
仍然被误解。他想通过Knockout.js进行监听。 - John Dvorak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接