2009-08-14 1 views
3

Я использую jqGrid и добавляю свое собственное событие onclick в каждую ячейку данных, когда сетка завершила рендеринг.jQuery получить текущее событие click для элемента и добавить к нему

jqGrid имеет поведение по умолчанию, выделяющее строку onclick. Когда я добавляю свое собственное событие onclick после рендеринга сетки, мое событие перезаписывает событие jqGrid, как и ожидалось. Я хотел бы сохранить событие jqGrid onclick и просто добавить к нему свое событие.

Как я могу получить текущее событие onclick для всех элементов, соответствующих определенному классу, и просто добавить больше событий к событию? Это мое текущее новое событие onclick.

Спасибо!

$(".searchOrders").click(function() { 
    $('#tabs').tabs('url', 2, '/view/dspOrders.cfm?id_orders='+$(this).attr('title')); 
    $('#tabs').tabs('select', 2); 
}); 

ответ

3

Механизм привязки события jQuery не является перезаписываемым. Другими словами:

$("#button").click(function() { alert("hello"); }); 
$("#button").click(function() { alert("goodbye"); }); 

имеет два события, запускаемых на #button, второй не перезаписывает первый.

Что-то еще здесь происходит.

+0

О мальчик, дух! Другие события onclick находятся в ячейке таблицы, и мои новые события находятся на якоре внутри ячейки. Просто заметила это сейчас. – mattmac

0

вы можете адаптировать код я использую, чтобы вставить событие нагрузки:

// stack the original loads 
var aryLoadQueue = new Array(); 
$.each($.data($main.get(0), "events").load, function() { 
    aryLoadQueue.push(this); 
}); 

... 

// put the original loads back in place to take place after our one-time load 
$(aryLoadQueue).each(function() { 
    $main.load(this); 
}); 

не стесняйтесь комментировать вопросы ...

 Смежные вопросы

  • Нет связанных вопросов^_^