2013-09-24 87 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属性