JQUERY iFrame,与警报一起工作,没有警报就无法工作 - 奇怪吗?为什么

发布于 2024-09-09 23:22:07 字数 723 浏览 9 评论 0原文

以下内容在我的页面上不起作用:

$("#bob").ready(function () {
    $("#bob").contents().find(".findme").css("background", "red");

    $(document.getElementById('bob').contentWindow.document).find('.findme').bind("mousedown", function() {
        alert(  $(this).text() );
    });
});

但是如果我添加一个警报(我认为这会增加某种类型的延迟,让 iframe 在 JS 继续之前运行),它会起作用吗?

$("#bob").ready(function () {
    alert(1)
    $("#bob").contents().find(".findme").css("background", "red");

    $(document.getElementById('bob').contentWindow.document).find('.findme').bind("mousedown", function() {
        alert(  $(this).text() );
    });
});

延迟是导致其工作的原因吗,难道不应该准备好处理这个问题吗?另外,有没有办法使上述内容成为现实,这样时间就不是问题了?

The following does not work on my page:

$("#bob").ready(function () {
    $("#bob").contents().find(".findme").css("background", "red");

    $(document.getElementById('bob').contentWindow.document).find('.findme').bind("mousedown", function() {
        alert(  $(this).text() );
    });
});

But if I add an Alert, which I assume adds some type of delay to let the iframe run before JS continues, it DOES WORK?

$("#bob").ready(function () {
    alert(1)
    $("#bob").contents().find(".findme").css("background", "red");

    $(document.getElementById('bob').contentWindow.document).find('.findme').bind("mousedown", function() {
        alert(  $(this).text() );
    });
});

Is the delay is what's making it work, shouldn't the ready be taking care of this? Also, is there a way to make the above LIVE, so the timing isn't an issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩物 2024-09-16 23:22:07

尝试将其放入

$(document).ready(function() {

而不是

$("#bob").ready(function () {

Try putting that in a

$(document).ready(function() {

Instead of

$("#bob").ready(function () {

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文