开发者

Bind to jQuery event only for particular elements

I am relatively new to jQuery but the below code seems logical but is not working as I would expect. I a开发者_如何学Cm utilizing the Colorbox jQuery plugin.

My intention is to only add a listener for the 'cbox_closed' event on 'a' elements who have an id that contains 'Remove'. Unfortunately, as presently implemented this adds the listener on all raisings of the 'cbox_closed' event.

Am I missing something or is this not a valid means of adding an event listener?

$('a[id*="Remove"]').bind('cbox_closed', function() {
    var row = $($.fn.colorbox.element()).parents('tr');
    row.fadeOut(1000, function() {
        row.remove();
    });
});


Try this:

$(document).bind('cbox_closed', function() {
  if ( $( $.fn.colorbox.element() ).attr('id').match('Remove') ){
   alert('Remove me!');
  }
})

The event will always trigger when the ColorBox is closed. You would have to modify the plugin itself to prevent this event from firing in specific cases. So, the above code binds to the event then looks for your specific ID. I hope my explanation helps :)


Shouldn't that be

$("a[id*='Remove']").bind('cbox_closed', function() {

You seem to be missing qoutes around the Remove value

Or I misunderstood your problem

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜