-
keydown有延迟?
第一次按下键盘,没反应。第二次按下,下面显示键盘只有第二次输入的内容
keydown事件触发在文字还没敲进文本框,这时如果在keydown事件中输出文本框中的文本,得到的是触发键盘事件前的文本,就是当你按下键盘时先触发keydown,再显示字母
查看全部 -
键盘事件:
在键盘事件中,将用户行为分解成2个动作,键盘按下与松手,针对这两种动作,jQuery分别提供可对应的keydown与keyup方法来监听。
查看全部 -
submit事件:监听提交表单动作。
具体能触发submit事件的行为:
<input type="submit">
<input type="image">
<button type="submit">
当某些表单元素获取焦点时,敲击Enter(回车键)
上述这些操作下,都可以截获submit事件。
这里需要特别注意:
form元素是有默认提交表单的行为,如果通过submit处理的话,需要禁止浏览器的这个默认行为 传统的方式是调用事件对象 e.preventDefault() 来处理, jQuery中可以直接在函数中最后结尾return false即可
jQuery处理如下:
$("#target").submit(function(data) { return false; //阻止默认行为,提交表单 });
查看全部 -
select事件:
当textarea或文本类型的input元素中的文本呗选择时,会发生select事件。
这个函数会调用执行绑定到select事件的所有函数,包括浏览器的默认行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。
select事件只能用于input元素和textarea元素。
查看全部 -
change事件:
<input><textarea><select>元素的值都是可以发生改变的,开发者可以通过change事件去监听这些改变的动作。
查看全部 -
冒泡处理最佳回答:
冒泡处理:也可以从字面意思理解为,气泡在水中会向上浮动。那么我们现在就解释什么是气泡浮动就好了。
气泡:也就是所谓的触发事件。
向上浮动:不仅会触发自身的事件,而且还会一级一级地向上浮动查找祖辈节点的同效果事件,直到根节点为止,没完没了。
举例:在#div1 中有个子元素 #div2
定义:#div1 的mouseout事件; #div2 的mouseout事件
效果:当触发#div2 的mouseout事件时,一定会触发#div1 的mouseout事件。因为#div2触发事件后,它还没完,还会向上一级级查找祖辈们有没有定义相同的mouseout事件,如果有就触发,这里显然有定义#div1的mouseout事件,而且#div1还是#div2的父辈元素,所以会触发#div1的mouseout事件。(这里说的有点多,显得有点累赘,主要是想让你能理解。)
如果把mouseout事件 替换成 mouseleave事件就不会了,因为mouseleave事件,只会触发自身的事件,不会冒泡祖辈们,让他们安静一点。
浏览器的解析DOM方式之一
浏览器解析DOM主要有两种方式,冒泡机制和委托机制,IE浏览器主要采用的是冒泡机制,谷歌以及其他浏览器主要采用委托机制。
冒泡机制即,作用于DOM上的操作会冒泡传递,就是先作用在最具体的元素然后向上冒泡,继续作用他的父元素,到祖元素,再到最后的整个DOM文档(当然这个是可以设置冒泡阻止到那儿)
委托机制相反,作用于DOM上的操作会最先作用在整个DOM文档上,然后才会找到事件最具体的元素。
这里的冒泡处理,应该是指阻止了冒泡排序,并兼容了委托机制,提高网页兼容性。
查看全部 -
冒泡事件:
冒泡事件最好的理解就是和水的冒泡是一样的,就是从最底层向上去找寻参数,在html中就是从最里层向最外层去寻找合适的标签之后就停止。
查看全部 -
什么是冒泡处理?
冒泡现象其实可以理解为:遇到“问题”找“爸爸”。
“问题”:就是一些特定的事件。
“爸爸”:就是父级元素。
举例:focusin案例中第二个绿盒子里的input元素被我们点击时,就触发了focusin事件。
但是input表示:我很方啊,我没有这个事件的处理方法啊!咋整?找老爸,问他有没有!
绿盒子老爸说:莫方,我有,让我来! 最终就调用了绿盒子老爸的方法。
PS:如果绿盒子老爸自己也没有呢?他会问他的老爸,以此类推,一直问到老祖宗window,都没有的话就只好啥也不做啦!
有问题找爸爸,这是一个方面,但是如前面的mouseover,mouseout和mouseenter和mouseleave,如果mouseover父子同时有的话,在子元素上移动就都执行,mouseenter就只执行子元素,这里说的focus如果子元素有focus ,父元素有focusin,在子元素上聚焦就会都执行 ,如果focusin在子元素上,父元素也有,就都执行,如果是focus 就只执行自己(前提是父元素上没有focusin,有没有focus无所谓),简单的说就是如果父子都有这个事件,在子元素上触发,父元素和子元素的事件都会触发
focus,blur是表单事件,说白了只有表单控件如input,textarea上才可以添加,而表单空间之间几乎不存在父子嵌套的关系,所以谈不上会引发冒泡事件,像div,p等其他的html元素是不可以添加这个事件的,那么,也就谈不上子元素父元素之间的事件相互激发,谈不上冒泡了。。focusin ,focusout是鼠标事件,可以添加在任何html元素上的,而很明显的html元素会存在嵌套关系,比如div里装一个表单控件input,那么一旦div 和input上都有focusin事件,点击input子元素的时候,肯定会触发父元素div上的冒泡事件。
一句话:究其根本是:focus blur 是存在于几乎无嵌套关系的表单控件上,不存在冒泡事件
focusin focusout是存在所有html元素上的,有嵌套关系的元素就可以引发冒泡事件。
查看全部 -
表单事件之blur与focus事件。
focusin、focusout事件与blur事件、focus事件的本质区别为:是否支持冒泡处理。
focus()在元素本身产生,focusin()在元素包含的元素中产生。
focusin()在元素包含的元素中产生的意思是指子元素聚焦时才能触发父元素的focusin()方法。
focus只在元素本身起作用,例如$(".aaron")本身是个div,div是无法聚焦的,第一个函数没有被调用。focusin作用在元素包含的元素,即$(".aaron")本身是个div,div中有input框,那么input框被聚焦,那也说明focusin被调用生效
查看全部 -
当一个元素,或者其内部任何一个元素失去焦点时,使用focusout事件可以捕获这个动作。
查看全部 -
$("input:last").focusin('慕课网', function fn(e) {
$(this).val(e.data)
});
首先,因为$("ele").focusin('data','fn'),点击文本框触发焦点事件,'data'传入了数据:“慕课网”储存在focusin事件里面(也就是这里的e),后面的e.data就是读取你传入的数据:“慕课网”这3个中文。val()就是把data数据输入到input文本框里。也就是点击文本框的时候会出现“慕课网”的原因了。
查看全部 -
focusin事件:
当一个元素或者其内部任何一个元素获得焦点时,使用focusin事件可以捕获这个动作。
查看全部 -
hover 是鼠标进入 和 鼠标出去两个动作
查看全部 -
jquery设置多个css的属性是这样的---> $(
"p"
).css({
"background-color"
:
"yellow"
,
"font-size"
:
"200%"
}); 属性键值对是需要用大括号包起来的。
查看全部 -
为什么鼠标离开绑定mouseover的元素也会触发moseover
因为离开子元素,相当于又重新进入父元素,所以会触发父元素的mouseover事件
查看全部
举报