title: JQuery: Finding the Object that created a DOM Element
body: <p>So I've been working on this all day and I can't figure out how to get it to work. I have a table with TD's filled with content which is drawn from a database using a JQuery "getJSON" command. I have an event handler set-up so that when you double click a TD element, its contents become a INPUT element with the default value of the enclosing TD's previous contents.</p>
  
  <p>The INPUT element is created inside a Javascript object named "Input" like so:</p>
  
  <pre><code>var Input = function() {
      var obj = this;
      obj.docElement = $('&lt;input/&gt;').attr('type', 'text').val(obj.defaultValue);
  }
  </code></pre>
  
  <p>All of this is working so far. My problem is, I want the user to be able to hit the RETURN key while the INPUT is selected to signify they've finished editing that field. I've tried something like the following:</p>
  
  <pre><code>$(obj.docElement).bind('keydown', function(e) {
      if(e.which == 13) {
          // do something
      }
  }
  </code></pre>
  
  <p>This works fine for the first time you edit a field; however, if you edit a field multiple times it stops working. Also if you randomly double click TD's eventually it breaks. I tested it and determined that the INPUT element stops registering any type event, as if the "bind" no longer existed on it.</p>
  
  <p>I've done lots of googling and determined that the regular JQuery "bind" handler placed on an INPUT element is unreliable. Therefore I decided to attach the event handler to the document object instead using the following:</p>
  
  <pre><code>$(document).bind('keydown', function(e) {
      // do something
  }
  </code></pre>
  
  <p>I know I can use "e.target" to get the target element that the action is executed on (and this works for me, e.target correctly refers to the INPUT element).</p>
  
  <p>My question is, how do I get the object that created the INPUT element in the first place? I need to be able to execute functions contained within the corresponding "Input"
  class that was used to create the INPUT element. I need to call these functions from within the "$(document).bind" function. So basically I need to be able to get an INPUT element's parent/creator Input object.</p>
  
  <p>If I haven't explained anything clearly enough, just let me know. Any help in this matter would be greatly appreciated! I'm also open to suggestions for alternative methods (other than using "$(document).bind").</p>
  
  <p>Thanks!</p>