flerngobot
flerngobot

Reputation: 666

jquery onblur not firing

I am trying to get an onblur/onfocus combination working for a pair of text boxes which I am selecting via class in jquery. I am not getting any errors in debug, but the blur function never seems to be called. When debugging my breakpoint in the blur function is not hit.

$(document).ready(function () {
    var row = $(this).closest('tr');
    $('.editClass').click(function () {
        var editBoxes = $(row).find('.editClass');
        var focus = 0;
        $(editBoxes).focus(function () { focus++ });
        $(editBoxes).blur(function () {
            focus--;
            setTimeout(function () {
                if (!focus) {
                    alert('LOST FOCUS'); // both lost focus
                }
            }, 50);
        });
    });
});

Upvotes: 0

Views: 791

Answers (2)

flerngobot
flerngobot

Reputation: 666

Pretty sure the problem here was that the editBoxes were dynamically added to the page. This was not apparent in my question. Since they were dyncamically added I need to use

$(document).on('blur', '.editBoxes', function (){
 ...
}

Upvotes: 2

Wim Mostmans
Wim Mostmans

Reputation: 3601

The last two lines of your code example should be this

    });
});

This is needed for closing the ready and click function call.

Another possible problem is that you wrap the focus and blur listeners in a click handlers. Why did you do this?

Upvotes: 0

Related Questions