Actually an even easier trick would be to have 2 textareas that mirror each others content. Hide one without the expandable. Show the other with expandable. On the hide button, just do a reversal, show the noexpandable, hide the expandable.
You can add a check on the submit of the form to delete the hidden textarea so that it doesn't submit with the other form data. On Feb 14, 2:11 pm, QuadCom <supp...@quad-com.ca> wrote: > Here's my understanding. > > unbind will work for events. The expandable function you applied is > not an event. What I would do in this instance is on the hide button, > remove the textarea with the expandable and then insert a new textarea > with the same id. That would appear to remove the expandable > attributes. > > Don't forget, if there is text in the textarea, copy it to a var > first, then do the remove/add step. > > You could write your own plugin to do all o that in one step ie. > "unexpandable" > > On Feb 13, 3:39 pm, "Rick Faircloth" <r...@whitestonemedia.com> wrote: > > > Nice try, but no prize yet... > > > Given these scripts: > > > $(document).ready(function() { > > $('#myTextarea').hide(); > > > }); > > > $(document).ready(function() { > > $('#hide').click(function() { > > $('#myTextarea').unbind().slideUp(); > > return false; > > }); > > > }); > > > $(document).ready(function() { > > $('#show').click(function() { > > $('#myTextarea').expandable().slideDown(); > > return false; > > }); > > > }); > > > and this HTML: > > > <div style="padding-left:100px;"> > > > <p>[ <strong>Notes concerning textarea</strong> ] > > [ notes ] > > [ <a id="hide" href="#">hide</a> ] > > [ <a id="show" href="#">show</a> ] > > [ export ] > > [ clear ] > > </p> > > > <textarea id="myTextarea" cols="100"></textarea> > > > </div> > > > Why wouldn't your idea work, Josh? > > It makes sense to me. > > > I can click #show and #myTextarea becomes .expandable and executes > > .slideDown. > > But, when I then click #hide and #myTextarea starts to execute .slideUp, > > but then expands again, as it would if .expandable were still bound to it. > > > Should I code this differently? > > > Thanks, > > > Rick > > > > -----Original Message----- > > > From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On > > > Behalf Of Josh Nathanson > > > Sent: Friday, February 13, 2009 3:00 PM > > > To: jquery-en@googlegroups.com > > > Subject: [jQuery] Re: How to make an element *not* have a function > > > attached... > > > > This should work: > > > > $('#myTextarea').unbind(); // unbinds all handlers > > > > Then when you want to bind it again: > > > > $('#myTextarea').expandable(); > > > > -- Josh > > > > -----Original Message----- > > > From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On > > > Behalf Of Rick Faircloth > > > Sent: Friday, February 13, 2009 11:43 AM > > > To: jquery-en@googlegroups.com > > > Subject: [jQuery] Re: How to make an element *not* have a function > > > attached... > > > > To answer your question, hopefully, the element, in this case a textarea, > > > is set up like this: > > > > <script> > > > > $(function() { > > > $('#myTextarea').expandable(); > > > }); > > > > </script> > > > > ...and that's it. It would be active as "expandable" all the time. > > > > So, there's no "event", like click, etc., that triggers the function. > > > > However, I want to be able to click a link and disable the "expandable" > > > functionality, until another link is clicked to re-enable the > > > functionality. > > > > In other words, having the textarea "expandable" is not something I want > > > on all the time. > > > > > -----Original Message----- > > > > From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On > > > Behalf Of Frederik Ring > > > > Sent: Friday, February 13, 2009 2:04 PM > > > > To: jQuery (English) > > > > Subject: [jQuery] Re: How to make an element *not* have a function > > > attached... > > > > > This should be done using $(this).unbind(event,function). > > > > I don't know from your example how your handle the event so I cannot > > > > give you a more specific answer. > > > > > On Feb 13, 7:57 pm, "Rick Faircloth" <r...@whitestonemedia.com> wrote: > > > > > Strange question, perhaps...but... > > > > > > If I have an element that has an function from a plug-in > > > > > attached to it, such as: > > > > > > $(function() { > > > > > $('#myTextarea').expandable(); > > > > > > }); > > > > > > How would I then be able to make #myTextarea "not .expandable"... > > > > > > $('#myTextarea').expandable('disable'); ... > > > > > > Is this something that can be controlled from the page code, or > > > > > does something have to be built into the plug-in to allow this? > > > > > > Thanks, > > > > > > Rick