Backbone.js在Ctrl + s事件期间失去焦点

时间:2013-07-31 11:12:14

标签: javascript backbone.js

我有以下问题:我正在构建一个主干应用程序,当我尝试使用 ctrl + s 保存一些文本时,应用程序textarea失去焦点,然后出现一些奇怪的行为,

onTextareaKeyDown: function(evt) {
      var key = evt.keyCode;     
      if(evt.ctrlKey)
      {
        switch(key){       
          case 83: 
            evt.preventDefault();   
            this.saveText();
          break;
        }
      }          
    },

编辑:奇怪的行为,是的。主要是,我注意到当我按下 ctrl + s 时,它失去了对textarea的焦点,当我带回焦点时,它会失去每一个按键的焦点之后。

2 个答案:

答案 0 :(得分:1)

您是否有导致视图重新渲染的模型change事件?我的猜测是DOM正在改变以响应模型事件。

答案 1 :(得分:0)

您也尝试使用此代码。

onTextareaKeyDown: function(evt) {
      var key = evt.keyCode;     
      if (key == 83 && evt.ctrlKey){
          evt.preventDefault();   
          this.saveText();
      } 
},

示例演示:http://jsfiddle.net/29sVC/