首页 新闻 会员 周边 捐助

html button click事件发生前一定会发生focus事件吗?

0
[已解决问题] 解决于 2012-07-08 17:49

我这样测试时
<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事件吗?
不同的浏览器版本和类型会有区别吗

999999999999999的主页 999999999999999 | 初学一级 | 园豆:3
提问于:2012-06-20 21:27
< >
分享
最佳答案
0

不一定。比如,假如是通过代码触发的click事件。

但,假如是通过UI操作入口触发的事件,肯定要先focus,否则,WINDOWS窗体事件没办法传递给这个button。

奖励园豆:5
无之无 | 大侠五级 |园豆:5095 | 2012-06-20 21:44

是asp.net web程序,我的就是单击按钮这种情况,没有通过代码触发

我测试的第二种情况怎么解释呢,第一种情况是正常的

<input id="Button1" type="button" value="button" onclick="alert('click');" onfocus="alert('focus');" />
第一次单击Button1,弹出focus
第二次单击Button,先弹出click,再弹出focus
为什么不是单击总是先focus,在click呢

999999999999999 | 园豆:3 (初学一级) | 2012-06-20 22:20

@999999999999999: 这个,你的这个行为是打了个擦边球。你不要用什么focus方法,你就对focus事件和click事件进行内容输出就好,不要弹出窗口。这样,自然有问题。

无之无 | 园豆:5095 (大侠五级) | 2012-06-20 22:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册