1.$(document).ready() $(document).ready()是jQuery中响应JavaScript内置的onload事件并执行任务的一种典型方式。它和onload具有类似的效果。但是也有一些差异:
当一个文档完全下载到浏览器中时,会触发window.onload事件。而使用$(document).ready()注册的事件处理程序会在html下载完成并解析为Dom树之后,代码就可以运行,但并不意味着所有关联文件都已经下载完毕。
一个页面中一般只有一个onload事件处理程序,而且只能一次保存对一个函数的引用;而$(document).ready()是可以有多个。
一般来说$(document).ready()都要优于使用onload事件处理程序。但是如果关联文件还没有加载完成,则类似图像高度、宽度的属性的调用就会有问题,因此需要在不同的时候选择合适的方法。
复制代码 代码如下:
$(document).ready()有三种写法,分别是:
> $(document).ready(function() {
//this is the coding...
});
>$().ready(function() {
//this is the coding...
});
>$(function() {
//this is the coding...
});
2. 事件捕获与事件冒泡 事件捕获: 允许多个元素响应事件的一种策略。在事件捕获的过程中,事件首先会交给最外层的元素,接着再交给更具体的元素。
事件冒泡:另外一种相反的策略叫时间冒泡,当事件发生时,会首先发送给最具体的元素,在这个元素获得响应机会之后,事件会向上冒泡到更一般的元素。事件冒泡有时候会产生副作用,导致始料不及的行为。
3.阻止事件冒泡的三种方法 指定默认操作
通过调用.preventDefault()方法可以在出发默认操作之前终止事件。
调用 event.stopPropagation()停止事件传播
jQuery提供了一个.stopPropagation()方法,使用该方法可以完全阻止事件冒泡。实例代码如下:
使用stopPropagation()方法阻止事件冒泡
复制代码 代码如下:
$(document).ready(function() {
$('switcher').click(function(event){
if(this.id == 'switcher-narrow'){
$('body').addClass('narrow');
}
else if(this.id == 'switcher-large'){
$('body').addClass('large');
}
$('switcher .button').romoveClass('selected');
$(this).addClass('selected');
event.stopPropagation();
};)
});
使用event.tatget属性 明确事件对象 事件处理程序中的变量event保存着事件对象。而event.tatget属性保存着发生事件的目标元素。这个属性是DOM API中规定的,但是没有被所有浏览器实现。jQuery对这个事件对象进行了必要的扩展,从而在任何浏览器中都能够使用这个属性。通过.target,可以确定DOM中首先接收到事件的元素。而且,我们知道this引用的是处理事件的DOM元素。
使用event.tatget属性 明确事件对象阻止事件冒泡的代码如下:
复制代码 代码如下:
$(document).ready(function() {
$('switcher').click(function(event){
if(event.target == this)
{
$('switcher .button').toggleClass('hidden');
}
};)
});
4.常用的事件绑定 jQuery通过使用.bind()方法为元素进行事件绑定,通过使用.unbind()方法为元素进行解除绑定。而且.bind()方法是可以执行多次绑定的,如果没有绑定,在进行解除绑定的时候,这都是安全的。
很多时候某一个事件只需要触发一次,随后就要立即解除绑定,按照传统的做法,我们可能会先进行事件绑定,然后在事件执行完毕后进行解除绑定。jQuery为我们提供了一种简写的方法.one来专门解决上述情景下的繁琐的代码编写,示例如下:
复制代码 代码如下:
$(document).ready(function(){
$('#swotcjer').one('click',toggleStyleSwitcher);
});
5.复合事件
在进行事件捕获的时候,常常需要捕获组合的用户操作,并且以多个函数作为响应,这些事件我们称为复合事件。
jQuery提供的.read()方法就是最常用的符合事件方法之一,除此之外,还有进行交互处理的时候用到的两个函数:
.hover(over,out) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
.toggle(fn,fn) 每次点击时切换要调用的函数。
相关推荐:
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,seo 获客技巧
SEO快排还有效果吗揭秘快速排名的真相与未来趋势,ai人像波普
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载
AI免费写作一键生成,效率与创意的完美结合
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
seo管理系统是什么,seo网站管理 ,过度圆ai
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
seo简报什么意思,seo工作汇报 ,万花筒 ai
seo软件是什么职位,seo用的是什么软件 ,ai感知树
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
OpenAI您的信用卡被拒绝了?请尝试用借记卡支付,轻松解决支付问题!,ai cdr缩略图补丁
《权重参谋:让您的网站轻松登顶搜索引擎的秘密武器》,设计微信社群私域营销推广简案
ChatGPT网页版内容显示不全的解决方案:如何轻松解决问题?,课件ai
SEO提供:如何通过精准的SEO策略提升网站流量与品牌影响力,刷关键词排名立的火星
AI一键生成文章免费版:颠覆写作新体验
SEO范例:如何通过优化提升网站流量,获取更多商机,广州抖音seo搜索广告
SEO优化排名:让您的网站在搜索引擎中脱颖而出,我ai 达瓦仓决
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
seo自己做什么,自己做seo需要花钱吗 ,ai850775
SEO适合-提升网站排名的关键策略,张家口品牌推广营销中心
什么是seo在线咨询,什么是seo在线咨询服务 ,unreal ai
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
ChatGPT5.0为什么一直没出来?背后的技术与战略,元宵节ai趣赏月
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
SEO阶段解析:从入门到精通,助你站稳搜索引擎的前沿,网站建设特定开发
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
优化收费,助力企业提升效益,实现共赢,宜州餐饮网站建设
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
好用的AI写作软件免费推荐:创作新境界!
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
未来工作方式!AI在线工具让效率倍增,工作变轻松
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
如何选择适合你的AI工具?全面解析AI工具哪个好用
seo配置是什么,seo设置是什么 ,ai图标制作教程
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
用AI写文,开启创作新时代
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
用AI写的文章算原创吗?真相揭示,带你深度思考!
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
如何识别文章是否由AI撰写?揭开智能写作的秘密