-
keydown 是在按之前判断(当时text还没有内容),触发一次空,当下一次按键时,就触发上一次输入的内容,所以就少一个。
查看全部 -
<input type="submit">
<input type="image">
<button type="submit">
当某些表单元素获取焦点时,敲击Enter(回车键)
查看全部 -
focus与blur事件:不支持冒泡,focusin与focusout支持冒泡
查看全部 -
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 div,
.right div {
width: 500px;
height: 50px;
padding: 5px;
margin: 5px;
float: left;
border: 1px solid #ccc;
}
.left div {
background: #bbffaa;
}
.right div {
background: yellow;
}
</style>
<script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<h2>自定义事件trigger</h2>
<div class="left">
<div><span></span><span>0</span>点击次数</div>
<button>直接点击</button>
<button>通过自定义点击</button>
</div>
<script type="text/javascript">
//点击更新次数
$("button:first").click(function(event,bottonName) {
bottonName = bottonName || 'first';
update($("span:first"),$("span:last"),bottonName);
});
//通过自定义事件调用,更新次数
$("button:last").click(function() {
$("button:first").trigger('click','last');
});
function update(first,last,bottonName) {
first.text(bottonName);
var n = parseInt(last.text(), 10);
last.text(n + 1);
}
</script>
</body>
</html>
查看全部 -
jQuery自定义事件之trigger事件
众所周知类似于mousedown、click、keydown等等这类型的事件都是浏览器提供的,通俗叫原生事件,这类型的事件是需要有交互行为才能被触发。
在jQuery通过on方法绑定一个原生事件
$('#elem').on('click', function() { alert("触发系统事件") });
alert需要执行的条件:必须有用户点击才可以。如果不同用户交互是否能在某一时刻自动触发该事件呢? 正常来说是不可以的,但是jQuery解决了这个问题,提供了一个trigger方法来触发浏览器事件
所以我们可以这样:
$('#elem').trigger('click');
在绑定on的事件元素上,通过trigger方法就可以调用到alert了,挺简单!
再来看看.trigger是什么?
简单来讲就是:根据绑定到匹配元素的给定的事件类型执行所有的处理程序和行为
trigger除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数
$('#elem').on('Aaron', function(event,arg1,arg2) { alert("自触自定义时间") }); $('#elem').trigger('Aaron',['参数1','参数2'])
trigger触发浏览器事件与自定义事件区别?
自定义事件对象,是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)的使用;
查看全部 -
focus与blur事件:不支持冒泡,focusin与focusout支持冒泡
查看全部 -
return false;起的禁止跳转的作用,刚看的时候乱了一阵...
查看全部 -
focus( )和blur( ) 不支持冒泡处理
focusin( )和focusout( ) 支持冒泡处理
冒泡现象其实可以理解为:遇到“问题”找“爸爸”。
查看全部 -
mousedown 按下触发 mouseup 抬起触发,抬起的时候离开了就不触发
查看全部 -
给body中的a添加事件
理解为,给body捆绑的事件,当a元素触发,事件向上冒泡,一直冒泡到body。但是提供了第二参数a,也就是说在冒泡过程中遇到了选择器匹配的元素a,事件就会触发
$('body').on('click', 'a', function(e) {
alert(e.target.textContent)
})
查看全部 -
keydown在按下是就触发
keyup在按键松开后触发
所以,会出现显示输入值keydown总是在按下一个内容后,在下一次按下后才会显示
而keyup是在松开后才触发,所以显示的值在本次松开后就可以显示
查看全部 -
e.target是当前事件执行的第一个具体DOM对象,这个DOM对象不变
this是事件冒泡到DOM树的哪个对象,this就指向哪个对象,改变的
查看全部 -
focus( )和blur( ) 不支持冒泡处理
focusin( )和focusout( ) 支持冒泡处理
查看全部
举报