如何以OOP方式处理文本框事件?

时间:2015-11-25 15:28:00

标签: javascript oop

我想定义一个代表文本框的类,并为它提供一些自定义功能来处理keyup等事件。

我已经定义了以下Javascript类:

var AutoSaveTextBox = function(element) {
    this.textBox = $(element);
    this.init();
  }

AutoSaveTextBox.prototype.init = function() {
    this.textBox.onkeyup = function(e) {
      if(!e) e = window.event;
      this.textBox.handleKeyUp(e);
    }
  }

  AutoSaveTextBox.prototype.handleKeyUp = function(e) {
    var keyCode = e.keyCode
    var submitKeyCodes = [9, 13] //9:Tab, 13:Enter

    if(submitKeyCodes.indexOf(keyCode)>-1)
      console.log("You Pressed Submit");
  }

如何将此类应用于我的页面上具有“自动保存”类的每个文本框,以便每次在此类中键入其中一个文本框时都会处理它?<​​/ strong>

我尝试使用以下方法应用它,但到目前为止它还没有成功:

 $(document).ready(function() { 

  $('.auto-save').each(function(){
    new AutoSaveTextBox(this);
  });

});

1 个答案:

答案 0 :(得分:-1)

您可以使用对象加密事件

来确定文本框的键盘事件
$(document).ready(function() { 

   $('.auto-save').each(function(){
     var x = new AutoSaveTextBox(this);
     $(this).keyup(x.handleKeyUp);
   });

  });