Context lost when using $.post inside a delegated event handler. Bug?

Context lost when using $.post inside a delegated event handler. Bug?

I have some code that's a more involved version of this:

  1. $('#container_div').delegate('.trigger_button', 'click', function() {
  2.       $.post('handler.php',
  3.             { id: $(this).siblings('.item_id').val() },
  4.             function(data) {
  5.                   $(this).siblings('.result_display').val(data.result);
  6.             },
  7.             'json'
  8.       );
  9. });

Normally, when I use .post in an event handler, "this" refers to the object that triggered the event. That doesn't happen in this case. When I use "this" the first time, to pull data parameters, it refers to the .trigger_button. But inside the .post callback, it refers to the AJAX call object instead. I don't think that's how it's supposed to work, is it? Is this a bug?