ページ内のコンテンツを置き換えるために使用しているUpdatePanelがあります。UpdatePanelの外に、on()
いくつかのボタンクリックを割り当てる関数を使用するjQueryがあります。私の理解では、新しいjQuery.on()構文は、イベントハンドラーと古いlive()
機能の両方を置き換えることを目的としています。この関数は、ページへの変更を監視し、ページに追加された要素にイベントを添付することになっていますが、これは私のテストページlive()
の関数では発生しません。on()
UpdatePanelを変更した後でコンソールを開いて同じ関数を実行すると、イベントハンドラーは正しく機能します。
これが私がJavaScriptに関して持っているものです:
$(function () {
$('.results').on('click', function () {
$(this).children('.explination').slideToggle();
});
});
UpdatePanelは、MultiViewを含む単純なUpdatePanelです。
Microsoft AjaxPageRequestManager
を使用してこれを処理できることは承知していますが、イベントが想定どおりにバインドされている場合は不要のようです。今はそれを使用しますが、間違って実行しているのか、jQueryとASP.Netが連携していないのか興味があります。
私が持っている理論の1つは、何らかの理由で、UpdatePanelは、jQueryが変更をキャプチャしてonイベントを再度起動するために使用しているDOM更新トリガーを起動しないというものです。