bgrins / ExpandingTextareas

jQuery plugin for elegant expanding textareas
http://bgrins.github.com/ExpandingTextareas/
MIT License
261 stars 73 forks source link

Initialise on keydown? #51

Open domchristie opened 9 years ago

domchristie commented 9 years ago

Re: #50 Could we auto-initialise the plugin on keydown rather than on DOM ready? Something like:

$(document).on('keydown.expanding', 'textarea.expanding', function() {
  var $this = $(this);
  if (!$this.expanding('initialized')) {
    $this.expanding();

    // Prevent `keydown.expanding` from firing on this textarea(?)
    $this.off('keydown.expanding'); 
  }
});

I’m no sure off would work, but this might solve issues with .expanding textareas that are inserted into the DOM. Just a thought.

bgrins commented 9 years ago

Hm, something like that could probably solve the most common issue (and make the plugin just work across many more cases).

We would also need to handle the case of calling $("foo").expanding() - that's the case in #50. But maybe we could do a similar thing in that case as well?

Also, the call to off wouldn't work in this case, since it's bound on the document. But we wouldn't need to worry about preventing the event from firing again since there is a check to see if it's already initialized.

dpDesignz commented 9 years ago

That looks like an awesome idea!