event.preventDefault是否取消了更改事件?

我有一些我想为自己澄清的情况,如果有人对这个问题有任何经验并愿意向我解释,我会很高兴。

我有一个textarea,它有一个change事件处理程序:

 textarea.bind('change', function(event){ // do something }); 

假设,如果我有某种抓取所有用户点击的点击事件处理程序,该怎么办:

 $(document).bind('click', function(event){ event.preventDefault(); }); 

如果用户用鼠标点击它,这个处理程序是否也会取消blurchange textarea的事件? 如果它会,我怎么能防止这种情况发生?

更新:感谢您的回答,我不能说我尝试了,但我有类似的情况,我试图排除为什么change不会触发我的textarea的可能性。 在我的情况下,如果我点击默认情况下阻止所有click事件并替换为自定义行为的区域,则有一个change处理程序不起作用。

不,它只会阻止“click”事件的默认浏览器行为。

假设,如果你刚尝试过怎么办? (回答:它不会,正如我前面所说)

如果您不希望用户能够离开输入字段(这听起来像是奇怪的用户交互),您可能只能在blur / change事件后设置焦点 – 也许您需要一个小的超时来让事件先完成。 我不推荐它,但它总是值得一

不,它不会。