我有一个可拖动的div,当然可以拖动它。在里面,我有输入文本,它有两个事件(焦点和模糊)。同样在里面,我有另一个div,它充当可拖动的取消div(拖动该div可以防止发生任何拖动)。
你可以在这里看到:http://jsfiddle.net/wUDzh/4/
- 点击输入框会触发焦点事件,点击主div(红色的)外会触发模糊事件。这很好
- 单击或拖动主div不会触发模糊事件。这就是我想要的
- 问题是,单击取消div(蓝色的)会导致输入框发生模糊事件。这是有道理的,但那不是我想要的
有没有什么方法可以防止模糊事件像主div的行为一样发生?
thx
单击取消div
时,要防止输入字段模糊,只需执行以下操作:
$('#cancel').mousedown(function(e) {
e.preventDefault();
});
参见fiddle
您可以进行
$("#text").blur(function(e)
{
// alert('a');
if(e.target.id === 'text'){
//this prevents other blur handlers from firing
e.stopImmediatePropagation();
//this prevent the default action and returns
return false;
}
$(this).val("I've got blur");
});
小提琴在这里http://jsfiddle.net/wUDzh/6/