本文主要为大家详细介绍了jquery事件对象的属性和方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
jquery事件对象的属性和方法,供大家参考,具体内容如下
事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别
event.type:获取事件的类型
触发元素的事件类型
$(a).click(function(event) {
alert(event.type); // click事件
});
event.pagex 和 event.pagey:获取鼠标当前相对于页面的坐标
通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(左边)与 (顶边)的距离,简单来说是从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
event.preventdefault() 方法:阻止默认行为
这个用的特别多,在执行这个方法后,如果点击一个链接(a标签),浏览器不会跳转到新的 url 去了。我们可以用 event.isdefaultprevented() 来确定这个方法是否(在那个事件对象上)被调用过了
event.stoppropagation() 方法:阻止事件冒泡
事件是可以冒泡的,为防止事件冒泡到dom树上,也就是不触发的任何前辈元素上的事件处理函数
event.which:获取在鼠标单击时,单击的是鼠标的哪个键
event.which 将 event.keycode 和 event.charcode 标准化了。event.which也将正常化的按钮按下(mousedown 和 mouseupevents),左键报告1,中间键报告2,右键报告3
event.currenttarget : 在事件冒泡过程中的当前dom元素
冒泡前的当前触发事件的dom对象, 等同于this.
this和event.target的区别:
js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标dom元素;
.this和event.target都是dom对象
如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;
参考代码:
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<style>
.left p,
.right p {
width: 500px;
height: 100px;
padding: 5px;
margin: 5px;
float: left;
border: 1px solid #ccc;
}
.left p {
background: #bbffaa;
}
.right p {
background: yellow;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<h3>事件对象的属性与方法</h3>
<p class="left">
<p id="content">
外层p元素
<br />
<span style="background: silver;">内层span元素</span>
<br /> 外层p元素
</p>
<br />
<p id="msg"></p>
</p>
<script type="text/javascript">
//为 <span> 元素绑定 click 事件
$(span).click(function() {
$(#msg).html($(#msg).html() + <p>内层span元素被单击</p>);
});
//为 id 为 content 的 <p> 元素绑定 click 事件
$(#content).click(function(event) {
$(#msg).html($(#msg).html() + <p>外层p元素被单击</p>);
event.stoppropagation(); //阻止事件冒泡
});
//为 <body> 元素绑定 click 事件
$(body).click(function() {
$(#msg).html($(#msg).html() + <p>body元素被单击</p>);
});
</script>
</body>
</html>
点击span冒泡到content的点击事件,然后进入到content的click function里面执行阻止冒泡语句,也就不会冒泡到body,所以点击span不会出现body元素被点击。
$('#msg').html($('#msg').html()+ <p>内层span元素被单击</p>); //在msg原有内容上追加
$('#msg').html(<p>内层span元素被单击</p>); //替换原来的内容
相关推荐:
js操作非ie事件对象属性,方法的详细介绍
javascript dom事件对象和ie事件对象实例详解
javascript 事件对象的实现_javascript技巧
以上就是实例详解jquery事件对象的属性的详细内容。