简单的区分,
不同点:没有括号的是事件,有括号的是方法;
相同点:执行他们的主体(this)都是dom节点,多数情况下是input文本框
input_dom.addEeventListen('focus', function(){ /当文本框获得焦点时会执行的代码段/ })
input_dom.focus(); // 使这个文本框处于有焦点的状态
onblur事件和blur()方法同理。
onselect事件- 当单行或多行文本框里的文字被选中时会触发的事件。 select() - 使得文本框的内容处于被选中的状态
onchange事件 - 当单选框或者复选框中选择某项时触发, 此外在select下拉列表框中选择某一项时也能触发。
特别强调的是,当下拉列表中选中某个内容时触发的是onchange事件,而不是onselect事件。
一点小补充:对于select下拉列表,可以通过 select_dom.options[index]获取某个列表项,该列表项也是一个dom对象, select_dom.selectedIndex 用来获取所选项的下标。
mouseover与mouseout事件,
div.mouseover --鼠标移入这个div时触发的事件
div.mouseout --鼠标从这个div内移出去触发的事件,所以隐含的大前提是鼠标已经在div区域中,所以不能理解成鼠标在div区域之外会触发的事件。
与mouseenter,mouseleave的区别,假设两个父子div,fatherDiv sonDiv,他们都有自己的mouseout和mouseover事件,当鼠标从父级div移入子级div时会先触发fatherDiv的mouseout事件1, 接着触发sonDiv的mouseover事件2,最后再触发fatherDiv的mouseover事件3。
个人理解,mouseout和over事件找到元素的方式是先从网页视图最顶层找,也就是说当鼠标在父级和子级div重合的区域时,mouseout和over事件认定先到达的元素是子级div,后到达父级div, 于是有上述事件1,2的先触发, 事件3的后触发。
mouseenter,mouseleave认定找到元素的方式是由视图底层往上,也就是说当鼠标在父级和子级div重合的区域时,mouseenter,mouseleave事件认定先到达的元素还是父级div,后到达的是子级div,因此mouseenter,mouseleave事件会更加严谨,贴近我们的逻辑--鼠标从父级div移入子级div不应该反复触发父级的mouseout,over事件。
前端新手初次做的学习记录,如果有说错理解错的地方,敬请赐教,一定改正。