Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >清除jquery document.ready()调用

清除jquery document.ready()调用
EN

Stack Overflow用户
提问于 2011-10-18 22:14:35
回答 4查看 18.6K关注 0票数 7

如何清除被设置为通过jQuery document.ready()调用触发的匿名函数?

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript">
    //some code sets a doc ready callback
    $(document).ready(function ()
    {
        alert('ready');
    });
    
    //my attempt to prevent the callback from happening
    window.onload = null;
    $(document).unbind("ready");
    
</script>

无论我如何尝试绕过它,警报都会发生。有没有办法做到这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-18 22:19:56

如果你描述了你真正想要解决的问题,你可能会得到最合适的答案。

jQuery没有公开记录的方法来撤消或阻止document.ready()处理程序。如果您控制代码,则可以使用全局变量和条件,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var skipReady = false;
$(document).ready(function ()
{
    if (!skipReady) {
        alert('ready');
    }
});

// skip the document.ready code, if it hasn't already fired
skipReady = true;

或者,如果您想深入了解一下jQuery (除了文档介绍的接口之外),您可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {
    alert("ready");
});

// stop the ready handler
$.isReady = true;

你可以在这里看到最后一个:http://jsfiddle.net/jfriend00/ZjH2k/。这之所以有效,是因为jQuery使用属性:$.isReady来跟踪它是否已经触发了就绪处理程序。将它设置为true会使它认为它已经解雇了他们,所以它不会每次都这样做。

票数 6
EN

Stack Overflow用户

发布于 2011-10-18 22:20:50

这是可行的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).bind("ready", function () { alert("hey!"); });
$(document).unbind("ready");

在我看来,这是一个bug -- jQuery中的所有其他事件都可以解除绑定。省略这一点是不一致的。

没有直接回答遗漏的问题,但这里有一些来自jQuery docs的相关信息

以下三种语法都是等效的:

  • $(document).ready(handler)
  • $().ready(handler) (这不是recommended)
  • $(handler)

还有$(document).bind("ready", handler)。它的行为类似于ready方法,但有一个例外:如果ready事件已经激发,并且您试图执行.bind("ready"),则不会执行绑定的处理程序。以这种方式绑定的就绪处理程序将在上面其他三个方法的任何绑定之后执行。

票数 1
EN

Stack Overflow用户

发布于 2011-10-18 22:17:27

$(document).ready()依赖于由浏览器触发的onLoad事件,这意味着您无法阻止它的发生。如果alert()是由某种条件决定的,那么我将使用if/else语句来决定是否调用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7814408

复制
相关文章
jquery.validate清除表单的验证结果
查阅官方文档之后,观察validate的返回类型,可以发现validate 方法返回一个 Validator 对象。
别团等shy哥发育
2023/02/25
1.4K0
jquery.validate清除表单的验证结果
jquery调用javascript方法
本来想找个“优雅”一点的方法,类似C#在调用C++方法时候的Invoke之类的。没找到,后来想想,其实也没必要,直接写就好了,算最优雅了吧。只是少了VS的Intelligence,有点不习惯罢了。
_淡定_
2018/08/24
1.6K0
jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖
近期,英国公共部门信息网站 GOV.UK 前端开发主管 Matt Hobbs 宣布该公司删除了 jQuery 作为所有前端应用程序的依赖项,这意味着“在所有 13 个 FE 应用程序中,JS 大小减少了 32 KB(31% ~49% 之间)”。
深度学习与Python
2022/06/13
7930
jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖
jquery调用页面的方法
本文转载:http://www.cnblogs.com/chenxizhang/archive/2009/05/28/1491250.html
跟着阿笨一起玩NET
2018/09/19
3K0
jquery链式调用 - 层级菜单示例
jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写:
Devops海洋的渔夫
2019/06/02
2.4K0
ASP.ENT调用JS jquery
在asp中的OnClick和在Html里的OnClick是不一样的,前者是ASP中的,所以点击触发的是服务器事件,后者是客服端事件,当然在ASP中也有客户端的,OnClientClick事件,它在编译后就是HTML里的OnClicK事件。
用针戳左手中指指头
2021/01/29
2.7K0
ASP.ENT调用JS jquery
jquery跨js文件调用函数示例
1 var common_func; (function() { 2 common_func = { 3 load_hot_data: function(AreaCode)
指尖改变世界
2019/10/21
5.2K0
jquery-validate插件之resetForm方法清除历史错误提示信息
这是一款可以用于验证字段的插件,比如验证字段是否填写,是否按照一定的规则填写(比如email、手机号等),使用如下所示:
johnhuster的分享
2022/03/28
8450
原生JS实现jQuery的链式调用
发现特别好用,而我在前段时间处理webview的时候,也多次使用到js,并且对于使用原生JS感到稍有不便。所以想到将其封装成类库,然后供以后进行重复使用或者优化。
魔王卷子
2019/05/28
2K0
程序员Web面试之jQuery
又到了一年一度的毕业季了,青春散场,却等待下一场开幕。 在求职大军中,IT行业的程序员、码农是工科类大学生的热门选择之一, 尤其是近几年Web的如火如荼,更是吸引了成千上万的程序员投身其中追求自己的梦
葡萄城控件
2018/01/10
2.6K0
程序员Web面试之jQuery
一些原生写法可以替代Jquery方法
jQuery的核心是通过各种选择器,选中DOM元素,可以用querySelectorAll方法模拟这个功能。
javascript.shop
2019/09/04
2.1K0
JQuery ajax调用asp.net的webMethod
在vs2010中,用JQuery ajax调用asp.net 2.0的  webMethod 方法时,怎么都调不出来,原来和3.5 有点出入。
跟着阿笨一起玩NET
2018/09/19
2.2K0
JQuery ajax调用asp.net的webMethod
JQuery ajax调用asp.net的webMethod
本文章转载:http://www.cnblogs.com/zengxiangzhan/archive/2011/01/16/1936938.html
跟着阿笨一起玩NET
2018/09/19
2.1K0
document.ready 与 window.onload的区别
document的ready事件通常会比window的onload事件先发生,为什么呢? 因为document的ready是在浏览器加载解析并构建完doc文档模型时发生的,而window的onload是整个文档的内容加载完成时才会发生。 当document文档正在加载时,返回"loading"。当文档结束渲染但在加载内嵌资源时,返回"interactive",并引发DOMContentLoaded事件。当文档加载完成时,返回"complete",并引发load事件。 readystatechange事件会在
smy
2018/04/03
1.4K0
【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )
父容器 没有设置 内容高度 样式 , 容器中的 子元素 设置了 浮动样式 , 脱离了标准流 , 高度会默认设置为 0 像素 , 这样就会导致各种显示混乱情况 ;
韩曙亮
2023/03/30
5.7K0
【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )
jQuery中调用JSON和XML数据--jQuery基础知识点(6)
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
6560
JQuery javascript实现父子页面相互调用
如上图,在iframe子页面的<script>元素中,定义了taskStatus全局变量,如果希望在其父页面中获取该全局变量的值,则可在父页面的<script>元素中新增js脚本如下:
授客
2019/08/21
2K0
JQuery javascript实现父子页面相互调用
jQuery调用RESTful WCF示例(GET方法/POST方法)
不废话了,直奔主题吧 wcf端: 近几年比较流行restful,为了能让ajax调用,同时也为了支持restful风格的uri,在创建一个Ajax-enabled Wcf Service后,必须手动修改svc文件,指定Factory,即: <%@ ServiceHost Language="C#" Debug="true" Service="ajaxSample.HelloWorld" CodeBehind="HelloWorld.svc.cs" Factory="System.ServiceModel.
菩提树下的杨过
2018/01/23
1.8K0
Jquery Ajax 跨域调用asmx类型 WebService范例
摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略(SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制。在本文中,将学习如何克服合作限制。本文以asmx方式搭建webservice作为测试用后端,给出完整的前后端调用解决方案、范例代码。
全栈程序员站长
2022/09/06
1.6K0
Jquery Ajax 跨域调用asmx类型 WebService范例
点击加载更多

相似问题

C++中与内存管理相关的查询

40

从设计模式获取与malloc相关的错误: malloc / free /malloc/ free

21

与C++中的指针相关

20

c++相关查询中的类原型

11

与活动相关的查询

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文