3

jqGridを使用しており、グリッドのレンダリングが完了したときに、データの各セルに独自のonclickイベントを追加しています。

jqGridには、クリック時に行を強調表示するデフォルトの動作があります。グリッドのレンダリング後に独自の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);
});
4

3 に答える 3

3

jQueryイベントバインディングメカニズムは、上書きするメカニズムではありません。言い換えると:

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

#buttonで2つのイベントが発生し、2番目のイベントは最初のイベントを上書きしません。

ここで何か他のことが起こっています。

于 2009-08-14T20:31:11.990 に答える
3

jqGridonCellSelectイベントを使用します。jqGridドキュメント

于 2009-08-14T20:32:02.487 に答える
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);
});

質問で気軽にコメントしてください...

于 2009-08-14T20:35:57.580 に答える