次のように、jQuery を使用して、すべての DIV のクリック イベント ハンドラーをセットアップできます。
HTML:
<div style="background-color: red; width: 50px; text-align: center;" id="one">
<a>Hello</a>
</div>
<br/>
<div style="background-color: yellow; width: 50px; text-align: center;" id="two">
<a>World</a>
</div>
JavaScript:
$("div").click(function (event) {
alert(event.currentTarget.id);
});
ここにjsFiddleがあります。
サーバー側のロジックを取得するには、次のように、jQuery クリック イベント ハンドラー呼び出しポストを 経由でサーバーに戻す必要があります__doPostBack()
。
$("div").click(function (event) {
__doPostBack(event.currentTarget.id,'');
});
最後に、サーバー側では、次のよう__EVENTTARGET
に、オブジェクトの値を使用して、Request
どの UI 要素がポストバックをトリガーしたかを判断する必要があります。
if (IsPostBack)
{
string ControlID = string.Empty;
if (!String.IsNullOrEmpty(Request.Form["__EVENTTARGET"]))
{
ControlID = Page.Request.Params["__EVENTTARGET"];
Control postbackControl = Page.FindControl(ControlID);
// Do something with control, that caused post back, here
}
}