Javascript 为什么';t当从UpdatePanel内部打开时,弹出窗口关闭

Javascript 为什么';t当从UpdatePanel内部打开时,弹出窗口关闭,javascript,c#,jquery,asp.net,gridview,Javascript,C#,Jquery,Asp.net,Gridview,JQuery(在我的Web表单中的head函数中): GridView: 弹出窗口(单击任何编辑图标时: 我不知道为什么,但当我点击x或弹出窗口周围的背景时,没有调用disablePopupEM函数来关闭它。我甚至添加了一个测试警报,我也没有看到 请帮助我解决这个问题。对我来说,这听起来非常类似:您将单击处理程序分配给元素,这些元素还不存在,因为DOM尚未完成加载(例如JavaScript在HTML之前初始化) 我会尝试在$(document).ready()函数中附加单击处理程序,在DOM

JQuery(在我的Web表单中的head函数中):

GridView:

弹出窗口(单击任何
编辑
图标时:

我不知道为什么,但当我点击
x
或弹出窗口周围的背景时,没有调用
disablePopupEM
函数来关闭它。我甚至添加了一个测试
警报
,我也没有看到


请帮助我解决这个问题。

对我来说,这听起来非常类似:您将
单击处理程序
分配给
元素
,这些元素还不存在,因为
DOM
尚未完成加载(例如
JavaScript
HTML
之前初始化)

我会尝试在
$(document).ready()
函数中附加
单击处理程序
,在
DOM
完全加载后将调用该函数,然后
元素
可用,它们将与
处理程序
一起附加

$(document).ready(function() {
    $("body").on('click', "#popupContactCloseEM", function (e) {
        //e.preventDefault();
        alert('popupContactCloseEM');
        disablePopupEM();
    });
    $("body").on('click', "#backgroundPopupEM", function (e) {
        //e.preventDefault();
        alert('backgroundPopupEM');
        disablePopupEM();
    });
});

正如您所看到的,您只需要用
ready
函数来包围它。

如果您点击control+shift+i,而不是
Page.GetType()
它应该是
typeof(第页),控制台中会出现错误吗
我想看看这个链接页面底部的例子,看看个人如何注册脚本以及调用close方法@MethodMan
typeof(第页)
一定是搞错了,我还在文档中添加了它们。准备好了。谢谢。这是一个简单的疏忽,很多人都忽略了。过去,当我遇到同样的问题时,我曾几次挠头,但当我看到您的代码时,我花了几分钟时间让灯再次亮起来……很高兴我能迅速帮助您解决问题你的问题。谢谢你…我会测试它。有道理。但是有一件事,为什么PageScript函数不能从后面的代码中工作?这对我和PageScript的
typeof(page)
一起工作。谢谢。很高兴知道,
typeof(page)
是@MethodMan建议的。很高兴它现在能工作:-)是的,我认为两者都解决了它!这很明显,但我完全错过了。谢谢你指出这一点。
$(document).ready(function() {
    $("body").on('click', "#popupContactCloseEM", function (e) {
        //e.preventDefault();
        alert('popupContactCloseEM');
        disablePopupEM();
    });
    $("body").on('click', "#backgroundPopupEM", function (e) {
        //e.preventDefault();
        alert('backgroundPopupEM');
        disablePopupEM();
    });
});