$(“123”).ready (fn(){}) 无论如何都会触发

$("123").ready (fn(){}) triggering no matter what

本文关键字:无论如何 fn ready      更新时间:2023-09-26

我有一个问题,无论我在参数中输入什么内容,$().ready 都会触发,这意味着它实际上在页面准备就绪之前触发。我正在使用 ASP.NET 与 EXT.NET 混合,并希望实现jQuery来为事情增添一点趣味。正如描述所说,无论如何它都会触发,所以如果我将"123"放入参数中,它无论如何都会向我显示 alart()。这是正在运行的代码:

    $("123").ready(function () {
        var $kids = $("x-column-inner").children();
        alert($(".x-column-inner").height());
    });

因此,".x-column-inner"为空,因为它尚未完成页面编译并且已经在执行javascript。

.ready 方法完全忽略选择器中的内容。仅当浏览器触发 DOMContentLoaded 事件时,才会触发它。

但请注意,DOMContentLoaded 可能会在图像和 css 工作表完成加载之前触发,从而导致高度和宽度测量不准确。如果这对您来说是一个问题,您需要使用$(window).load();

如果已经触发了DOMContentLoaded事件,则 ready 回调将立即执行。

您在第一个选择器中缺少句点:

$(function () {
    var $kids = $(".x-column-inner").children();
    alert($(".x-column-inner").height());
});