可拖动取消触发模糊事件

时间:2012-03-28 08:16:07

标签: javascript jquery drag-and-drop

我有一个可拖动的div当然可以被拖走。 在里面,我输入了两个事件(焦点和模糊)的文本。 在内部,我有另一个div作为可拖动的取消div(拖动该div防止任何拖动发生)。

你可以在这里看到它: http://jsfiddle.net/wUDzh/4/

  • 单击输入框将触发焦点事件,单击外部主div(红色)将触发模糊事件。这很好。
  • 单击或拖动主div不会触发模糊事件。这就是我想要的。
  • 问题是,单击取消div(蓝色部分)会导致输入框出现模糊事件。这是有道理的,但那不是我想要的。

有没有办法防止模糊事件发生,就像主div的行为一样?

THX

2 个答案:

答案 0 :(得分:1)

你可以做到

$("#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/

答案 1 :(得分:1)

要在单击取消div时阻止输入字段模糊,只需执行以下操作:

    $('#cancel').mousedown(function(e) {
        e.preventDefault();
    });

请参阅fiddle