imYqs
2016-07-14 15:40
就我一个人用这个关键字和Onclick产生的效果一样吗。
我刚刚连续试了好几次,发现无论onclick还是onfocus都是点击下拉框之后才触发的alert,不同的是:onclick点击后下拉菜单出来之后,才出现alert;而onfocus是刚点击就出现alert效果。{仅仅是实验得知的,不知道对不对}
不一样的,简单来说,onclick是鼠标单机时触发的,但是onfocus不一定需要鼠标单击才会触发,他只要光标聚焦到那个位置就可以,就跟word的光标一样,你打字时的光标是随时移动的但是并没有有鼠标点击,那么如果有onfocus属性的话,其实你用tab或者上下左右方向键移动光标到触发点也一样会触发。我是这样理解的
两者触发方式是有根本性区别的
首先onfocus触发的方式是光标移到触发位置才能执行触发动作,而onclick 触发的方式则是当点击触发位置才能执行动作。 举个最简单的例子:
<input type="button" value="click" onfocus="message()"/> //1
<input type="button" value="click" onclick="message()"/> //2
<input type="text" value="click" onfocus="message()"/> //3
<input type="text" value="click" onclick="message()"/> //4
简单说鼠标的左击和右击都可以移动光标从而执行触发动作,而要想使用点击触发则必须使用鼠标的左击才能有效,
所以说,onfocus 的触发范围要比onclick 大。
Onfocus是鼠标在目标上就会触发,
Onclick是鼠标点击下然后弹上来才触发的
我是这样理解的
我是这样理解的:onfocus触发时,onclick肯定触发,因为是通过点击来获得焦点的,此后该元素获得焦点(就像Windows的当前窗口概念差不多),两者还是要差别的,onfocus常常用于表单与onblur配合使用
得到焦点时触发。
肯定不一样,onfocus是活的焦点,当<input type="text">是。onfoucs就是你把光标移动到这个框里就触发;onclick是点击这个框才会触发。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题