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

推荐订阅源

D
Docker
F
Fortinet All Blogs
爱范儿
爱范儿
博客园 - Franky
MyScale Blog
MyScale Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
P
Proofpoint News Feed
IT之家
IT之家
宝玉的分享
宝玉的分享
D
DataBreaches.Net
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
M
MIT News - Artificial intelligence
L
LangChain Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
量子位
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - 大老鼠

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’);

});