3

私のサーバー側のコードでは、テーブルを動的に構築しています。現在、行のクリックを処理するために次のコードを追加しています。

tr.Attributes.Add("onclick", "window.open('" + root + document.IPT_Name + "/" + document.IPT_Sub_Name + "/" + document.File_Name + "', 'mywindow', 'toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,copyhistory=no, resizable=yes')");

これを左クリックのみで機能させ、右クリックに別の属性を追加して別の場所に移動する方法はありますか?

4

2 に答える 2

3

検出することはできますが、注意が必要なブラウザ固有の問題がいくつかあります。http://www.quirksmode.org/js/events_properties.htmlのコードを次に示します。

function doSomething(e) {
  var rightclick;
  if (!e) var e = window.event;
  if (e.which) rightclick = (e.which == 3);
  else if (e.button) rightclick = (e.button == 2);
  alert('Rightclick: ' + rightclick); // true or false
}

マウスの右クリックを検出できるjQuery用のプラグインもあります: http://abeautifulsite.net/notebook/68

于 2009-04-01T16:15:45.807 に答える
0

以下は、 jQuery 1.3.2から抜粋したコードevent.whichと、 およびについて説明するコメントですevent.button

// Add which for click: 1 == left; 2 == middle; 3 == right
// Note: button is not normalized, so don't use it
if ( !event.which && event.button )
    event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
于 2009-05-18T23:12:51.933 に答える