2013-09-24 85 views
1

我有一個aspx頁面內的下列jQuery腳本:訪問按鈕

<script type = "text/javascript"> 
$(".Test").click(function() { 
alert("JQueryTest"); 
}); 
</script> 

和一個按鈕聲明:

<asp:Button ID="TestButton" cssClass="Test" runat="server" Text="Test" /> 

的按鈕顯示成功的彈出窗口上,但是當按鈕被點擊時,JQuery腳本沒有被執行。當按鈕沒有被添加到彈出窗口並且腳本按預期執行時(點擊時),我測試了這個。 彈出窗口/控件的類型爲AjaxControlToolkit.ModalPopupExtender。

有沒有人有任何理由,爲什麼我不能以這種方式訪問​​按鈕,並有一個替代方法呢?

+0

這是什麼渲染爲,是jQuery的裝? – mplungjan

+0

jQuery由母版頁加載,正如我所說,它似乎只是訪問彈出窗口上的按鈕的問題。 –

回答

1

你必須包括內部document.ready()

您的活動如果你有該按鈕,你必須使用on(),因爲很可能是在運行時的按鈕創建的opup和起動時存在的的DOM裏面不是實例這一頁。

試試這個:

<script type = "text/javascript"> 
$(document).ready(function(){ 
    $(document).on('click','.Test',function() { 
    alert("JQueryTest"); 
    }); 
}); 
</script> 
+0

嘗試這個腳本後,似乎仍然沒有執行。 –

+0

你有沒有檢查你的控制檯是否有錯誤? @DavieBrown –

+0

在控制檯中沒有報告任何錯誤 - 如果按鈕不在這個「彈出窗口」上,腳本執行正常。以這種方式訪問​​它時一定會有些東西丟失。 –

0

您也可以選擇創建一個javascript函數,並將其分配給您的按鈕的點擊事件在服務器端尤斯onclick屬性