【问题标题】:How can I turn this click event function into one that is called automatically when the div loads?如何将此单击事件函数转换为在 div 加载时自动调用的函数?
【发布时间】:2012-01-23 04:49:39
【问题描述】:

我执行一个将内容加载到 div 中的功能。我正在使用 innerHTML,我得到一个 php 文件,它使用 php 文件的内容更新 div 的 innerHTML。

这个 div 里面包含另一个 div,其 class 和 id 为“tweet”。此 div 使用特定主题标签的实际推文进行更新,通过 $variable 传递给函数

当它只是一个 onclick 事件时,它可以正常工作,例如:

<p><a href="#" onclick="tweet('<?echo $hashtag;?>')">activity</a></p>
<div class="tweet" id="tweet"></div>

但是,我想做的是让它在“tweet” div 加载后自动加载 tweet('')。

tweet(hashtag)函数是:

function tweet(hashtag) { $("#tweet").load('tweet.php?hashtag='+hashtag); }

它会加载一个调用 jquery tweet 函数的 php 文件。

 jQuery(function($){
    $(".tweet").tweet({
        avatar_size: 32,
        count: 3,
        query: "<?echo $hashtag;?>",
        loading_text: "loading tweets...",
        refresh_interval: 3
    });
});

根据传递的主题标签,它显示 3 条推文。 页面加载时会调用主题标签,作为会话变量。

点击链接后一切正常。我需要做什么才能自动加载此负载。这样我就不需要点击链接了?我尝试了许多自动刷新选项,但无法完全理解。非常感谢您的帮助。

我知道,如果这只是一个正在加载的常规页面,我可以简单地使用 $(document).ready 并调用 jquery 函数。但是,由于 div 使用新的 php 文件内容填充的方式,它不起作用。我尝试了几次使用自动刷新间隔、窗口加载等。它们似乎也不起作用。

【问题讨论】:

    标签: javascript jquery ajax html dynamic


    【解决方案1】:

    有两种方法可以尝试:

    1. 从调用加载 div 的函数中以某种方式运行代码。 (保证可以工作。您甚至可以将某种插件概念放在一起。“eval”可能有用。)
    2. 在 div 之后添加标签。如果一切如您所愿,该代码将立即执行。

    【讨论】:

    • 我不确定我是否遵循。该功能有效。如果我单击“活动”一词,它会将 3 条推文加载到其下方的 div“推文”中。但是,我不想点击链接,我希望它自己执行功能。
    • @DonShapelle:如果您负责加载 div 的页面,那么您可以运行代码。所以填充div,然后调用方法。
    • 第一次点击调用一个函数,用一个php文件更新左边div的innerHTML。调用另一个函数来使用 php 文件更新右侧 div 的内容。 (innerhtml = http 响应,它是 php 文件的 GET)。当通过 GET 更新左 div innerhtml 时,将抓取主题标签。右侧可以拉出会话值并输出它,但这就是它结束的地方。我觉得我需要重新处理最初的 javascript 调用才能让它自动工作。如果您有空在 donshappelle.com/chat 上聊天,我希望您能抽出 5 分钟时间。
    • 我在加载页面两侧后编辑了初始函数以包含 tweet() 函数。时间有点不对,但我调整了顺序,现在它处理得很好。左侧加载、右侧加载、推文加载在右侧。大约需要 0.002 秒。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-06-07
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 2012-10-20
    • 2020-09-03
    相关资源
    最近更新 更多