【问题标题】:jQuery is ready from dynamically loaded controljQuery 已准备好从动态加载的控件
【发布时间】:2015-09-15 23:46:14
【问题描述】:

我创建了一个 asp.net 应用程序,其中包含一个带有更新面板的 aspx。 我在更新面板中有一个加载用户控件的按钮。

我的用户控件我正在尝试使用 jquery facebox 插件。

jQuery(document).ready(function ($) {

     $('a[rel*=facebox]').facebox({
        loadingImage: '/styles/images/facebox/loading.gif',
        closeImage: '/styles/images/facebox/closelabel.png'
    });
});

所以对于我想要这个插件工作的任何锚标签,我只需要添加rel="facebox",它就可以很好地工作。 我尝试将 rel="facebox" 添加到我想在我的用户控件中使用的标签中,但是除了锚标签将我重定向到 href 中的链接引用之外,什么也没有发生

我已尝试将上述 documet.ready 代码添加到 aspx 和 ascx 中,但没有任何反应。

这是由于用户控件的动态加载造成的吗?这是我需要做的其他一些步骤吗?

任何帮助都会很棒。谢谢

【问题讨论】:

  • 我认为您可能需要向我们展示更多代码

标签: asp.net jquery


【解决方案1】:

是的,这将是因为更新面板。动态添加到页面的代码不会被 jQuery 选择器自动匹配,因此事件处理程序不会触发。为了解决这个问题,您可以在加载新代码后重新注册事件处理程序,也可以使用live()。由于这些处理程序是在 Facebook 中注册的,您可能需要修改 Facebook 的代码。这是一个需要更改的实例:line 159

【讨论】:

    【解决方案2】:

    是时候开始故障排除了。在不同的地方添加这一行:console.log("testing1"),并确保这些日志消息显示在 Firefox 的 Firebug 控制台中。

    • 如果他们不这样做,你有一些问题 中的信息未涵盖的内容 你的问题。
    • 如果准备好的功能 触发,但facebox没有,它的 facebox 有问题。

    这是什么?

    【讨论】:

    • 我将它添加到我的母版页、aspx 页面和用户控件中。我看到除了用户控件之外的所有内容都在写入控制台
    猜你喜欢
    • 2015-07-12
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2011-05-06
    • 2018-12-07
    • 2019-05-24
    相关资源
    最近更新 更多