标签: document-ready

jQuery $(文档).已经在Iron/Chrome中破坏了

我用jQuery和jFancyTiles编写了一个小图片幻灯片,可以在这里看到:

http://www.netzwerkag.at

它在firefox和IE中按预期工作,但不是铁/铬.问题似乎在文件的时间.已经在铬:

  • 在第76行中,活动类被设置为标题图像右下角的编号圆形按钮.这有效!

  • 在第83行中,通过调用花式拼贴功能来改变图像,这在铬中不起作用,至少在此时不起作用.

当我通过ctrl-shift-j打开iron_js_console并手动调用该函数时,一切正常.

此外,如果我等待10秒,它甚至会进展到下一个图像,在所有浏览器中,不需要以前的操作.

对fancytiles的第一次调用不适用于铁/铬.这是在jquery的document.ready事件中调用的.

//我能做什么?

javascript jquery slideshow document-ready

6
推荐指数
1
解决办法
5728
查看次数

我可以在单个html页面中多次使用jquery的$(document).ready()吗?

我有一个名为"text.html"的html页面

<html>
    <body>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="js/Photos.js"></script>
        <script type="text/javascript" src="js/Animations.js"></script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Photos.js和Animations.js都以"$(document).ready()"开头

//Javascript File Photos.js
$(document).ready(function() {
    //My code here ....
});

//Javascript File Animations.js
$(document).ready(function() {
    //My code here ....
});
Run Code Online (Sandbox Code Playgroud)

如果我在单个 html页面中使用多个 $(document).ready(function(){ 是否重要?

提前致谢

html jquery document-ready

6
推荐指数
2
解决办法
1万
查看次数

Modernizr vs $(document).ready()

从网络面板看,当您通过Modernizr.load加载脚本时,它实际上并不会阻止$(document).ready().

所以理论上,假设我通过Modernizr添加json2.js,而另一个开发人员试图在$(document).ready()中使用JSON.parse,他们的脚本实际上可能会因为竞争条件而中断.

是否可以在不试图警告所有代码签到的情况下解决这个问题?

jquery document-ready modernizr

6
推荐指数
1
解决办法
3671
查看次数

addEventListener mousemove on 文档准备好

我想是新手问题。

以下代码是我在文档就绪时调用的函数的一部分。它旨在在鼠标移动时永久返回当前鼠标位置的值。

正在发生的奇怪事情:在文档就绪时移动鼠标不会将任何内容记录到控制台。我知道 mouse_monitor 函数可以工作,因为我在另一个“mousedown”事件监听器中使用了这个函数,然后它将当前鼠标位置记录到控制台。

//Mouse Monitor

    canvas.addEventListener('mousemove', mouse_monitor, false);


//Mouse Monitor Request
    var mouse = new Array();
    var mouse_monitor = function(e) {
        var canvasOffset=$("#canvas").offset();
        var offsetX=canvasOffset.left;
        var offsetY=canvasOffset.top;
        mouse.x = e.pageX - offsetX;
        mouse.y = e.pageY - offsetY;
        return mouse;
        console.log(mouse);
    }
Run Code Online (Sandbox Code Playgroud)

addeventlistener document-ready mousemove

6
推荐指数
1
解决办法
3万
查看次数

$(document).ready()会立即为window.open()上下文触发

我正在尝试对弹出窗口的DOM执行操作,但由于某种原因,ready事件会在弹出窗口中立即触发,然后才会出现DOM中的任何内容.

我知道jQuery可以通过使用上下文访问弹出窗口的DOM,并且我可以设法通过使用setTimeout延迟任何操作直到合理的时间量已经过去.

http://jsfiddle.net/GVcjn/

(function ($) {
    $(function () {
        var popup = window.open('/test');
            // JSFiddle 404 page

        $(popup.document).ready(function () {
            // Should fire when the DOM of the 404 page has loaded...

            $('h2', popup.document).css('color', '#FF0000');
                // Change the color of the header to red.

            console.log($('h2', popup.document).length);
                // Should log 1
                // Logs 0, though, because this function fires immediately, before the DOM loads.
        });

        setTimeout($.proxy(function () {
            // This will definitely fire after the DOM of …
Run Code Online (Sandbox Code Playgroud)

javascript jquery document-ready window.open

6
推荐指数
1
解决办法
1万
查看次数

jQuery:$(document).ready()在IE中太慢了

在呈现页面之前隐藏元素的首选方法是什么?$(document).ready()适用于firefox,但有时(连接到服务器似乎是一个主要问题)它在Internet Explorer中落后了一点; 该元素显示,并在病房后不久隐藏.即:在执行$(document).ready()中的代码之前呈现页面.

现在我一直在查看之前有关类似问题的问题,但据报道这些问题在1.3.1中得到解决.然而,我使用jQuery 1.3.2并遇到这种行为(在IE6,IE7和IE8中).

一种可能的选择是默认通过css隐藏它,但这会使它显示依赖于启用了javascript.我还不愿意这样做.

我也尝试将我的javascript移到/ body标签上方,这似乎也没有帮助.

connection jquery internet-explorer document-ready

5
推荐指数
1
解决办法
8924
查看次数

在什么情况下,$(文件)..已经在后退按钮点击触发?

我正在使用一些使用JQuery的$(document).ready功能来设置jqGrid实例的代码.即使通过后退按钮单击返回页面,似乎也会触发代码.

在精简测试页面中,通过后退按钮点击时不会调用类似的就绪函数:

<html>
<head>
    <script type="text/javascript" src="/JQuery/jquery-1.4.2.min.js"></script>

    <script type="text/javascript">

    $(document).ready(function(){
        alert('ready');
    })

    </script>
</head>
<body>
    <p>Index View</p>

    <a href="detail.html">Detail</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

你能给我一些关于在哪里寻找导致这种行为差异的原因的提示吗?

我在这个问题的答案中找到了一些相关信息,但是带有过度活动就绪事件的页面没有为卸载注册的事件处理程序.

jquery back-button document-ready

5
推荐指数
0
解决办法
2万
查看次数

为什么$(window).load()工作但不是$(document).ready()?

我正在使用rails 3应用程序,我想使用可排序列表.我正在使用此处显示的方法.我的应用程序使用JQuery,我的应用程序布局中包含一个js文件,用于调用$(document).ready()设置一些可视化内容.这似乎工作正常.

但是,当我尝试$(document).ready()在我的视图模板中调用content_for :javascript以设置可排序列表时,该代码永远不会触发.我的yield :javascript布局文件中有必要的调用,如果我加载页面并查看源代码,一切看起来都很好.但是代码永远不会运行 - 即这个$(document).ready()永不触发的实例.

我刚刚发现,如果我替换$(document).ready(),$(window).load()那么我的js代码运行.

所以我的问题是:为什么会$(document).ready()失败并且$(window).load()有效?

这有效:

<% content_for :javascript do %>

<script>
   $(window).load(function(){
     alert('it works!');
   });
</script>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这不起作用

<% content_for :javascript do %>

<script>
   $(document).ready(function(){
            alert('it works!');
   });
</script>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这是布局

<!DOCTYPE html>
<html>
  <head>
    <title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>

    <!-- Reset Stylesheet -->
      <%= stylesheet_link_tag "reset" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery ruby-on-rails document-ready

5
推荐指数
1
解决办法
6299
查看次数

将参数传递给setTimeout的闭包

我遇到了一个问题,我的应用程序存在于iframe中,而且它是从外部域调用的.当iframe正确加载时,IE9不会触发加载事件,所以我认为我使用setTimeout来调查页面.

无论如何,我想看看我的setTimeout通常需要什么持续时间来完成,所以我希望能够记录setTimeout从我的回调中触发的延迟,但是我不知道如何将该上下文传递给它所以我可以记录下来.

App.readyIE9 = function() {
  var timings = [1,250,500,750,1000,1500,2000,3000];    
  for(var i = 0; i < timings.length; i++) {
    var func = function() {
    if(App.ready_loaded) return;
      console.log(timings[i]);
      App.readyCallBack();
    };
    setTimeout(func,timings[i]);
  }
};
Run Code Online (Sandbox Code Playgroud)

我一直在IE9的控制台中获取LOG:undefined.

完成此任务的正确方法是什么?

谢谢

javascript jquery closures document-ready internet-explorer-9

5
推荐指数
2
解决办法
8131
查看次数

在文档准备好之前从服务器获取AJAX数据(jQuery)

我想从服务器获取一些数据并用JavaScript将其写入全局数组.然后在文档就绪中我想使用这个数组来创建一些新元素(选项).我应该有这个数据的全局数组,因为在第一次加载客户端后可以使用这个数据修改用户界面.

$(document).ready(function () {
    UseAjaxQueryForFillGlobalArray();
    MakingInterfaceUsingGlobalArray();       
});
Run Code Online (Sandbox Code Playgroud)

但我有奇怪的行为,当我调试页面时,我可以看到MakeInterfaceUsingGlobalArray方法首先工作,刚刚通过AJAX获取数据后,方法UseAjaxQueryForFillGlobalArray,我没有新的接口(html选项)加载数据.

如果我喜欢这样:

UseAjaxQueryForFillGlobalArray();
$(document).ready(function () {     
    MakingInterfaceUsingGlobalArray();       
});
Run Code Online (Sandbox Code Playgroud)

然后在Firefox工作正常,但在第一次加载时其他网络浏览器不正确(例如通过链接转到此页面).但是如果我用F5刷新,我有正确的用户界面,它通过AJAX加载到全局JS数组.

怎么解决?也许我使用完全不正确的方式?

评论后添加:

这是我的ajax功能:

function UseAjaxQueryForFillGlobalArray(){
    var curUserId = '<%= Master.CurrentUserDetails.Id %>';
    var curLocale = '<%= Master.CurrentLocale %>';
    $.ajax({
        type: "POST",
        url: "/segment.aspx/GetArrayForCF",
        data: '{"userId":"' + curUserId + '","curLocale":"' + curLocale + '"}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            //here is I doing parse my string from server and fill arrays.     
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery document-ready

5
推荐指数
1
解决办法
7301
查看次数