当textarea
事件发生在同一div
时,会有一个onblur
元素将自身转换为textarea
。还有一个button
,其onclick
属性设置为function f
。
如果有人在textarea
中写信,然后点击button
,则会触发f
,但也会触发onblur
事件处理程序。在这种情况下是否有一些订单规则,或者两个处理函数可能以随机顺序触发?
答案 0 :(得分:6)
我在这里创建了一个jsfiddle:http://jsfiddle.net/z5SEp/
最新Chrome的事件似乎是:
mousedown
blur
mouseup
click
虽然我找不到任何依赖的文档,但是在mousedown之后,但在mouseup之前,模糊是有意义的。 Mousedown会导致模糊,但您可能会长时间按下鼠标按钮并导致模糊。
点击事件的顺序始终是1. mousedown 2. mouseup 3. click。在mousedown之后但在mouseup之前,模糊是有意义的。
要记住更多内容
如果触发按钮点击如下:$('button').trigger('click');
,则模糊事件将不触发,焦点将保留在textarea上。
答案 1 :(得分:0)
在这种情况下,模糊将始终首先触发,因为只要鼠标按钮在页面上的其他位置下降,就会触发模糊。因此,当鼠标按下按钮时,首先会触发textarea的模糊事件。当鼠标出现时,按钮的click事件被触发。