-
jQuery自定义事件之trigger事件
根据绑定到匹配元素的给定的事件类型执行所有的处理程序和行为
trigger除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数
$('#elem').on('Aaron', function(event,arg1,arg2) { alert("自触自定义时间") }); $('#elem').trigger('Aaron',['参数1','参数2'])
查看全部 -
jQuery事件对象的属性和方法
event.type:获取事件的类型
例子:$('a').click(function(event){ elert(event.type); //"click"事件 })
event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标
event.preventDefault() 方法:阻止默认行为 如:a标签的href链接
event.stopPropagation() 方法:阻止事件冒泡
event.which:获取在鼠标单击时,单击的是鼠标的哪个键 左键报告1,中间键报告2,右键报告3
event.currentTarget : 在事件冒泡过程中的当前DOM元素
this和event.target的区别:js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素
.this和event.target都是dom对象
如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;
查看全部 -
获取输入值是e.key e.which是获取输入值的ascii
查看全部 -
因为trigger会触发浏览器的默认行为 即input的聚焦行为,此时是不能将input设置title值的;而triggerHandler不会触发浏览器的默认行为 即input的聚焦行为,此时是可以将input设置title值的。
查看全部 -
.this和event.target都是dom对象
如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;
查看全部 -
关于事件委托,大家可以看下这篇文章,讲得很浅显易懂https://www.cnblogs.com/liugang-vip/p/5616484.html
查看全部 -
e.type事件的类型
查看全部 -
英文输入法:
事件触发顺序:keydown - > keypress - > keyup
中文输入法:
firfox:输入触发keydown,回车确认输入触发keyup
chrome:输入触发keydown、keyup,回车确认输入只触发keydown
IE:输入触发keydown、keyup,回车确认输入触发keydown,keyup
Safari:输入触发keydown、keyup,回车确认输入触发keydown,keyup
opera:输入触发keydown、keyup,回车确认输入触发keydown,keyup
keypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,
keydown和keyup均可以对系统功能键进行有效的拦截,但事件截获的位置不同。
键盘中的键分为字符(可打印)键和功能键(不可打印),系统功能键包括如下:
Esc、Tab、Caps Lock、Shift、Ctrl、Alt、Enter、Backspace、Print Screen、Scroll Lock、Pause Break、Insert、Delete、Home、End、Page Up、Page Down, F1through F12,Num Lock、The Arrow Keys。
keypress响应系统功能键总结:
Firefox:支持 Esc、Enter、Backspace、Pause Break、Insert、Delete、Home、End、Page Up、Page Down、F1 throughF12、The Arrow Keys
Chrome:支持Enter
Oprea:支持Enter
Safari:支持Enter
IE:支持Esc、Enter
ps:
firefox:上下左右键会触发kepress.
chrome: 上下左右键不会触发kepress.
oprea:上下左右键不会触发kepress.
safari:上下左右键不会触发kepress.
IE:上下左右键不会触发kepress.
=====================================================================
keyCode(键码), which, charCode(字符编码)
keydown: 获得keyCode, charCode=0
keypress: 字符(英文区分大小写+数字 / *, . ...等非功能键),keyCode=0 ,获取charCode值,反之获取keyCode, charCode=0
keyup: 获得keyCode, charCode=0
jQuery 中 event.which =original.charCode != null ? original.charCode : original.keyCode;
总结:回车、上下左右、等功能键keydown、keypress、keyup都获取keyCode,并且值相等。
开启大写情况,keydown、keypress(字母,主键盘数字、回车)、keyup,which值相等,小写kepress获取的which不同于keypress、keyup。
keypress事件的keyCode对字母的大小写敏感,而keydown、keyup事件不敏感
keypress事件的which值无法区分主键盘上的数字键和附键盘数字键的,而keydown、keyup的which值对主附键盘的数字键敏感。
【
IE(ie9以下)只有一个属性KeyCode属性,当为keydown和keyup 事件是,keycode属性表示你具体按下的键(也称为virtualkeycode),当捕捉的是keypress事件时keyCode属性指的是你键入的字符(character code)
标准浏览器中情况有些不同,event对象包含一个keyCode属性和一个charCode属性,keydown和keyup事件的时候,keyCode表示的就是你具体按的键,charCode为0;当捕捉的是keypress事件时,keyCode为0,charCode指的是你按下的字符,鉴于IE和FF中的区别,如果你比较懒的话,建议只使用keydow和keyup事件
应该是jq版本的原因,可以响应的。
查看全部 -
div节点得靠表单事件来触发自己的焦点
查看全部 -
1.event.stopPropagation();
事件处理过程中,阻止了事件冒泡,但不会阻击默认行为
2.return false;
事件处理过程中,阻止了事件冒泡,也阻止了默认行为
3.event.preventDefault();
它的作用是:事件处理过程中,不阻击事件冒泡,但阻击默认行为
查看全部 -
关于在父节点设置mousemove 儿子会默认设置 并且在儿子跟父亲直接切换的时候也会增加事件响应
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>things Test</title>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<style type="text/css">
.A,.B{
width:320px;
height:120px;
background-color:#aaaabb;
text-align: center;
margin: 5px;
}
.B1{
background: red;
width: 200px;
height:50px;
}
p{
background-color:#ffffff;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$(".A").mouseover(function(){
alert("移动鼠标触发事件")
})
var n = 0
$(".B1").mouseover(function(){
$(this).find("p").html("触发事件"+(++n))
})
})
</script>
</head>
<body>
<input type="button" value="1">
<div class="A">A</div>
<div class="B">B<div class="B1"><p>触发事件</p></div></div>
</body>
</html>
查看全部 -
blur与focus事件不冒泡。focusin事件与focusout事件由外向内冒泡,只要子元素发生聚焦失焦就可以去触发父元素的focusin事件与focusout事件。
查看全部 -
$(this).fin("xx").html(xx)
查看全部 -
jQuery事件对象的作用
<div class="left"> <div class="aaron"> <ul> <li>点击:触发一</li> <li>点击:触发二</li> <li>点击:触发三</li> <li>点击:触发四</li> </ul> </div> </div> <script type="text/javascript"> //多事件绑定一 $("ul").on('click',function(e){ alert('触发的元素是内容是: ' + e.target.textContent) }) </script>
效果:点击ul下的每个元素,都会弹出弹窗,并显示元素中的文本内容(这里可能是非li元素)
event.target
target 属性可以是注册事件时的元素,或者它的子元素。通常用于比较 event.target 和 this 来确定事件是不是由于冒泡而触发的。经常用于事件冒泡时处理事件委托
简单来说:event.target代表当前触发事件的元素,可以通过当前元素对象的一系列属性来判断是不是我们想要的元素
查看全部 -
卸载事件off()方法
off():移除通过.on()绑定的事件处理程序
绑定2个事件
$("elem").on("mousedown mouseup",fn)
删除一个事件
$("elem").off("mousedown")
删除所有事件
$("elem").off("mousedown mouseup")
快捷方式删除所有事件,这里不需要传递事件名了,节点上绑定的所有事件讲全部销毁
$("elem").off()
查看全部
举报