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