focus、blur、focusin、focusout的区别
- focus,元素获取焦点时触发事件,不包括子元素
- focusin,元素获取焦点时触发事件,包括子元素
- blur,元素失去焦点时触发事件,不包括子元素
- focusout,元素失去焦点时触发事件,包括子元素
mouseout、mouseleave的区别
- mouseleave,鼠标离开元素时触发事件,不包括离开其子元素
- mouseout,鼠标离开元素时触发事件,包括离开其子元素
总结以上
后缀为“out”或“in”的事件,是可以监听到其子元素行为的,否则不监听其子元素。
keypress、keydown的区别
- keypress,用于监听键盘输入,只针对字母和数字,区分大小写,无法监听到ctrl、shift、alt等
- keydown,用于监听键盘输入,除了prtScreen以外的所有键,不区分大小写
总结以上
当有区分字母大小写或者区分!@#$%等符号的需求时,应监听keypress事件;当设置ctrl+字母、shift+字母等快捷键时,应监听keydown事件。