惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
GbyAI
GbyAI
T
Threatpost
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
The Hacker News
The Hacker News
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
I
Intezer
美团技术团队
S
Schneier on Security
I
InfoQ
Project Zero
Project Zero
S
SegmentFault 最新的问题
IT之家
IT之家
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
博客园 - 司徒正美
Security Latest
Security Latest
G
Google Developers Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
L
Lohrmann on Cybersecurity
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
Cisco Blogs
大猫的无限游戏
大猫的无限游戏
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
雷峰网
雷峰网
V
V2EX
The Register - Security
The Register - Security
A
Arctic Wolf
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Tor Project blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News
Spread Privacy
Spread Privacy
H
Help Net Security
H
Heimdal Security Blog

博客园 - 大老鼠

JQuery ajax 传递数组 自定义属性 JQuery元素坐标,偏移量 IE8按F12不显示开发人员工具窗口 JQuery AJAX调用WEB SERVICE方法 JQuery Validate验证表单元素 - 大老鼠 - 博客园 序列化/反序列化JSON sqlserver使用select加锁 jQuery操作解析JSON (sp_dbcmptlevel)将某些数据库行为设置为与指定的 SQL Server 版本兼容。 jQuery使用手册 效果-为操作添加艺术性 DOM操作-基于命令改变页面 选择符-取得你想要的一切 jQuery入门 动态修改样式和层叠样式表 - 大老鼠 - 博客园 DOM2核心和DOM2 HTML 创建可重用的对象 JavaScript中常见陷阱 - 大老鼠 - 博客园
事件
大老鼠 · 2010-05-03 · via 博客园 - 大老鼠

在页面加载后执行任务

$(document).ready()可以让jQuery响应网页加载事件,触发函数中的代码

代码执行的时机选择

我们已经知道,$(document).ready()是jQuery中响应JavaScript内置的onload事件并执行任务的一种典型方式.当文档完全下载到浏览器中时,会触发window.onload事件,这意味着页面中的全部元素对JavaScript而言都是可访问的.而通过$(document).ready()注册的事件处理程序,会在DOM完全就绪时就可以访问,这意味着所有元素对脚本来说是可访问的,但并不意味着关联文件已下载完成

简单的事件

$(document).ready(function(){

$(‘#some-id’).bind(‘click’,function(){

    $(‘body’).addClass(‘large’);

    $(this).addClass(‘selected’);    //$(this)为some-id元素创建一jQuery对象

});

});

通过bind方法,可以指定任何JavaScript事件,并为事件添加一种行为.当触发任何事件处理程序时,关键字this引用的都是携带相应行为的DOM元素,通过在事件处理程序中使用$(this)可以为相应的元素创建一个jQuery对象

显示和隐藏高级特性

$(document).ready(function(){

$(‘#some-id’).toggle(function(){

    $(‘#switch’).addClass(‘hidden’);

},function(){

    $(‘#switch’).removeClass(‘hidden’);

});

});

toggle方法接受两个参数,而且这两个参数都是函数,第一在元素上单击会调用每个参数,第2次单击则会调用第2个函数,此后,这两个函数会随着每次单击交替执行

$(document).ready(function(){

$(‘#some-id’).click(function(){

    $(‘#switch’).toggleClass(‘hidden’);

});

});

toggleClass在为元素应用/移除类之前,先用toggleClass方法检查类是否存在.如上面,若switch元素已应用了hidden类,则移除它,若没有应用,则应用它.这可以实现更简单的显示/隐藏功能

$(document).ready(function(){

$(‘#some-id’).hover(function(){

    $(this).addClass(‘hover’);

},function(){

    $(this).removeClass(‘hover’);

});

});

同.toggle方法一样,.hover函数也接受两个函数参数,第一个函数会在鼠标进入被选择元素时执行,第2个函数会在鼠标离开被选择元素时执行

阻止事件冒泡

$(document).ready(function(){

$(‘#some-id’).click(function(event){

    if(event.target == this){

        //event.target保存着发生事件的目标元素

    }

    //停止事件传播

    event.stopPropagation();

    //阻止事件默认操作(比如按了submit按纽会提交表单,这就是默认操作,和IE中的return false同效果)

    event.preventDefault();

});

});

移除事件处理程序

$(document).ready(function(){

var toggleswitch = function(){

    ……

};

$(‘switch’).click(toggleswitch);

//移除click事件

$(‘switch’).unbind(‘click’,toggleswitch);

//对于只触发一次,随后立即解除绑定的情况,有一种简写方法.one()

$('switch’).one(‘click’,toggleswitch);

//模拟用户操作(模拟用户单击鼠标)

$('switch’).trigger(‘click’);

});