- 主题:jQuery事件处理的疑问
题目起的比较烂,不知道该怎么用文字描述了...
代码如下
<body>
<input type="text" id="a" value="example">
<button id="b">click</button>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
<script>
$('#a').select(function() {
alert('触发了select');
});
$('#b').click(function() {
$('#a').select();
});
</script>
</body>
点击按钮之后弹出了三次对话框,不太明白为什么会是三次
推测有冒泡什么的,但没分析清楚
能帮忙给分析分析么
thx
--
FROM 183.196.21.*
你这三次弹框没有冒泡导致的弹框。
你这是,按钮导致select方法执行一次,然后select方法又执行一次。
第3次没想到原因。
【 在 roctall 的大作中提到: 】
: 题目起的比较烂,不知道该怎么用文字描述了...
: 代码如下
: <body>
: ...................
--
FROM 61.183.136.*
嗯,我也分析到了这两次,不知道第三次怎么解释
三次的event.target都是input,那就是没有冒泡导致的了吧
【 在 xiatianup 的大作中提到: 】
: 你这三次弹框没有冒泡导致的弹框。
: 你这是,按钮导致select方法执行一次,然后select方法又执行一次。
: 第3次没想到原因。
: ...................
--
FROM 183.196.21.*
chrome的bug或者叫特点吧
下面这个在chrome里面会fire 3次 但是在firefox edge当中只有一次
jsfiddle.net/dbc0rby5
如果你console.log(e)检测传入的EventArgs 会发现其中只有一次有带有isTrigger 所以可以用检测isTrigger来workaround
jsfiddle.net/wtf17ym7
【 在 roctall 的大作中提到: 】
: 嗯,我也分析到了这两次,不知道第三次怎么解释
: 三次的event.target都是input,那就是没有冒泡导致的了吧
--
FROM 130.102.82.*
原来如此
我一直尝试显示各种e.xxx,忘了直接显示e ...
【 在 facilitator (黄书中自有颜如玉 脸书中自有黄金屋) 的大作中提到: 】
: chrome的bug或者叫特点吧
: 下面这个在chrome里面会fire 3次 但是在firefox edge当中只有一次
: jsfiddle.net/dbc0rby5
: ...................
--
FROM 183.196.21.*