我这样测试时
<input id="Button1" type="button" value="button" onclick="$('#sp2').text('click');" onfocus="$('#sp1').text('focus');" />
单击一次Button1,sp1和sp2能同时改变
<input id="Button1" type="button" value="button" onclick="alert('click');" onfocus="alert('focus');" />
第一次单击Button1,弹出focus
第二次单击Button,先弹出click,再弹出focus
为什么不是单击总是先focus,在click呢
为什么2个测试不一样呢,2个测试我都是直接单击Button1,没有用键盘使Button1得到焦点
html button click事件发生前一定会发生focus事件吗?
不同的浏览器版本和类型会有区别吗
不一定。比如,假如是通过代码触发的click事件。
但,假如是通过UI操作入口触发的事件,肯定要先focus,否则,WINDOWS窗体事件没办法传递给这个button。
是asp.net web程序,我的就是单击按钮这种情况,没有通过代码触发
我测试的第二种情况怎么解释呢,第一种情况是正常的
<input id="Button1" type="button" value="button" onclick="alert('click');" onfocus="alert('focus');" />
第一次单击Button1,弹出focus
第二次单击Button,先弹出click,再弹出focus
为什么不是单击总是先focus,在click呢
@999999999999999: 这个,你的这个行为是打了个擦边球。你不要用什么focus方法,你就对focus事件和click事件进行内容输出就好,不要弹出窗口。这样,自然有问题。