【问题标题】:Run script after div has loaded加载 div 后运行脚本
【发布时间】:2015-06-23 06:27:28
【问题描述】:

我正在开发 chrome 扩展程序,需要在特定 div 加载到某些页面后运行某些功能。 此 div 通过 ajax 加载,我无法在此 ajax 上绑定成功函数。

我试图做 $('.div').load 但它不起作用。

所以当我在 Chrome 控制台中运行我的函数时,它可以完美运行。

可以做我想做的事吗?

我的代码:

$('.specialdiv').load(function() {
    console.log('loaded');
    $('._38 p').click(function () {
        var message_text = $(this).text();
        console.log(message_text);
    });
});

【问题讨论】:

  • 请用您无法正常工作的代码部分更新您的问题
  • 好的,我已经更新了我的问题
  • .specialdiv 是一个类,如果你正在寻找一个 id 为 specialdiv 的 div,请使用 $('#specialdiv')
  • 你为什么不精确一个页面来定位负载?像 $('div').load('page.php', function () { // 回调 });
  • 也将您的 html 文件提供给我们,以便我们准确了解您要完成的工作

标签: javascript jquery google-chrome-extension


【解决方案1】:

根据 jQuery API(http://api.jquery.com/load/),load 看起来像这样:

.load( url [, data ] [, complete ] )

我想知道你的示例中强制性的 url 参数在哪里。
在我看来,你的 ajax 代码应该是这样的:

$('.specialdiv').load( "my_url.html", function() {
    console.log('loaded');  
});

您可以将点击事件绑定到由 ajax 加载的元素,如下所示,在代码中的任何位置:

$(document)on('click', '._38 p', function () {
    var message_text = $(this).text();
    console.log(message_text);
});

【讨论】:

  • (是的,这是一团糟,这就是它被弃用的原因,但它就在那里;使用.on("load", ...) 不会有歧义)
  • 那么,既然您知道了,您是否明白您的答案不相关
  • @Xan 那又怎样?你无聊吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-31
  • 2014-04-01
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多