【问题标题】:Listen to enter key press on a text box听在文本框上输入按键
【发布时间】:2014-06-19 01:35:20
【问题描述】:

我想在文本框中按回车键时看到警告文本。 在 jquery 中,我可以检查每个按键事件,如果是 13 个按键代码,我可以发出警报。

这是一个我可以轻松使用击倒的地方吗?

如何在输入类型文本中按回车键触发功能

【问题讨论】:

  • 这里不是用淘汰赛的地方吗?
  • 听起来你想通了。问题是什么?展示你拥有的代码,并解释为什么它不能像你想要的那样工作。
  • 你的标题是“触发”。你的描述说“听”。哪一个是真的?
  • 淘汰赛中的事件绑定在此处描述:knockoutjs.com/documentation/event-binding.html

标签: jquery knockout.js


【解决方案1】:

当然可以。使用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

【讨论】:

    【解决方案2】:

    使用 jQuery:

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

    【讨论】:

    • 你误解了这个问题。他不想触发事件。他想在事件发生时触发自己的函数。
    • 还是被误解了。他想通过 Knockout.js 收听
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2012-09-20
    • 2015-01-01
    • 2011-07-24
    相关资源
    最近更新 更多