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

时间:2010-06-01 14:52:44

标签: javascript jquery dom javascript-events

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

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

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

假设,如果我有某种点击事件处理程序可以捕获所有用户点击,那该怎么办:

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

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

不,它不会。

答案 2 :(得分:0)

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

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