jQuery中的事件机制

jQuery中的事件机制
首先,我们在jQuery ready事件看,其功能类似于窗口的onload事件,但两者之间的区别是,onload事件是等到加载DOM节点的网页,和CSS样式绘制,Javascript是预加载和执行。准备活动,在网页标签解析成DOM节点的功能,实施非常坦率地说,执行比onload早准备好了,所以当我们使用jQuery,执行定义需要做准备:

准备就绪的作用是实现具体的加载。
$(文档)Ready(函数(){)
警报('1234);
});
第二,少一个文档,创建一个空的jQuery。
$()Ready(函数(){)
警报('abcd);
});
第三,简化版,
$(函数(){())
警报('23333);
});
所以让我们在onload和准备之间的第二差异看:

有两个在window.onload / /如果它只会执行最后的。如果有多个单词,前面的后面会被覆盖。
窗口。指针函数(){
警报(1);
}
在window.onload =函数(){
警报(2);
}
/ /而window.ready可以设置一些功能,都去。
$(文档)Ready(函数(){警报(1)})
$(文档)Ready(函数(){警报(3)})
在这里您可以设置许多函数,对于相同的对象集
所以让我们看看jQuery绑定事件,在这里我们onclick事件为例,当我们在JS结合的活动,我们分年级DOM1,DOM2级,包括IE浏览器的兼容性,所以当我们使用jQuery中的事件机制,不考虑那么多,jQuery已经帮我们做了比如兼容性操作,说实话,这对我们确实是很方便的:

/ / DOM1级事件
无功itnode = document.getelementbyid('id');
itnode.onclick =函数(){ };
div.onclick = null;在DOM1级事件绑定发布
/ / DOM2级事件
ItNode.addEventListener(听到咔哒声,功能)({ });
ItNode.removeEventListener();
ItNode.attachEvent(); / / IE 687的兼容性处理
detachevent();接触事件绑定在伊江
使用jQuery来操作/绑定事件
$()。事件类型(函数(){ });
()()事件的类型;
$(函数(){())
$('div)。Click(功能)的div({ / /绑定一个onclick事件
$('div)。Css(色彩,绿色);
});
$('div)。Mouseover(function(){)
$(这)。Css(色彩,'');
});
});
这里的想法是,当绑定的事件,事件的名称是不写,其实,我们还可以用另一种方式为('div '),(听到咔哒声,功能){ }();简化上述措辞,这种写作的两个左右时相同的角色。我们需要向jQuery对象添加更多事件,我们可以使用绑定方法来处理:

(事件类型、事件处理程序(分为有名函数和匿名函数))
$(函数(){())
鼠标上移事件处理绑定。
$('div)。Bind('mouseover功能()){
$('div)。Css('background-color ','蓝色');
});
$('div)。Bind('mouseout功能()){
$('div)。Css('background-color','');
});
在一个函数中绑定多个事件的多个时间间隔只由一个空格隔开。
虽然这可以绑定多个事件,但功能比较简单,不灵活。
$('div)。Bind('mouseover mouseout,函数(){())
(1234)console.log;
});
使用对象的形式绑定多个事件,
$('div)。Bind({
点击:函数(){ console.log(1);},
鼠标悬停:函数(){ alert(22);},
Mouseout:函数(){ alert(33);}
});
/著名的绑定函数
函数FA(){警报();};
函数FB(){警报();};
函数FC(){警报();};
$('div)。Bind(听到咔哒声,FB);
$('div)。Bind(听到咔哒声,FC);
$('div)。Unbind(); / /这直接调用函数将直接取消所有绑定的事件已被取消。
$('div)。Unbind(点击'); / /这种方式将DIV里面所有的单击事件被取消
/ /直接释放指定功能的结合,这种方式只能举著名的功能结合,无法打开匿名函数中指定的
$('div)。Unbind(听到咔哒声,FA);
});
当然,在事件处理中,事件对象是我们经常使用的对象,在js中,我们得到了对象,但也考虑了兼容性问题,但在jQuery中,我们根本不用考虑,只需要直接参数就行了,用于在事件的函数传递中:

功能(EVT){
VaR EVT = EVT window.event | |;
(EVT。preventDefault); / /主流浏览器防止违约事件
evt.returnvalue = false; / / IE防止违约事件对象
(EVT。里面); / /主流浏览器防止泡沫
evt.cancelbubble();防止浏览器 / /即起泡
}
$()。Bind(听到咔哒声,功能(EVT){
/ / EVT不兼容处理
(EVT。preventDefault); / /防止浏览器默认动作。
(EVT。里面); / /浏览器防止泡沫,
});
当然,我们在jQuery事件中是一个键盘、鼠标,甚至自定义窗体事件、事件和js基本上是一样的,总之,使用jQuery使我们不必考虑兼容性问题,而且代码的数量也大大减少。
以上是Xiaobi介绍的jQuery的事件机制。希望能对你有所帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部