Can I use livequery with ajax?  For instance, I am adding and deleting
elements of a certain class that have .post associated with them
at .ready.

For instance, if my last .post returns new html that create more items
with delete forms, how should I turn the code in the .ready below to
work?
        $('.deleteform').submit(function() {
                var gthis = this;
                var delformData = $(this).serialize();
                $.post('eatchoices.php', delformData, delprocessData);
                function delprocessData(data) {
                        $(gthis).parent().html(data);  // get the parent of
the form so replace just below the date
                }  // end of delformData
            return false;
        }); // end of submit delete form


On Sep 15, 4:11 pm, "Brandon Aaron" <[EMAIL PROTECTED]> wrote:
> Typically with tables you want to do event delegation for performance
> reasons. However, this is how you'd do it with LiveQuery.
> $(document).ready(function() {
>     $('table tbody td.hasContent')
>         .livequery('mouseenter', showBox)
>         .livequery('mouseleave', hideBox)
>         .livequery('mousemove', position)
>         .livequery('click', showDetail);
>
> });
>
> You could also do a function based livequery like this:
>
> $(document).ready(function() {
>     $('table tbody td.hasContent')
>         .livequery(function() {
>             $(this)
>                 .bind('mouseenter', showBox)
>                 .bind('mouseleave', hideBox)
>                 .bind('mousemove', position)
>                 .bind('click', showDetail);
>         });
>
> });
>
> The mouseenter and mouseleave events are what the hover helper method use
> behind the scenes.
>
> --
> Brandon Aaron
>
> On Mon, Sep 15, 2008 at 11:49 AM, jwynne <[EMAIL PROTECTED]> wrote:
>
> > Currently I am using $(document).ready to bind some behaviours to elements
> > in
> > the DOM based on a class name (using jquery's .filter) - This works great
> > on
> > the initial load of the page however these bindings get all screwy when I
> > try injecting or editing new elements to the DOM dynamically via AJAX.
> > After researching the issue I have been trying to use the livequery plug-in
> > but have been unsuccessful so far.
>
> > In $(document).ready I am assigning behaviour to td elements of the class
> > "hasContent". I am looking to hook them up to livequery listeners so that
> > the correct behaviours are assigned when the DOM is updated.
>
> > $(document).ready(function(event) {
>
> >        var position = function() {
> >                }
> >        var showBox = function() {
> >                }
> >        var hideBox = function() {
> >                }
> >        var showDetail = function() {
> >                }
>
> >        //Syntax help below
> >        $("table tbody td").filter(".hasContent").hover(showBox,
> > hideBox).mousemove(position);
> >        $("table tbody td").filter(".hasContent").click(showDetail);
>
> > });//EOF
>
> > Can anybody help me with the syntax necessary to get livequery to
> > bind/unbind the necessary behaviours to the table tds?
>
> > Thanks for the help.
> > --
> > View this message in context:
> >http://www.nabble.com/jquery-livequery-assign-behaviour-to-element-by...
> > Sent from the jQuery General Discussion mailing list archive at Nabble.com.

Reply via email to