可拖动取消触发模糊事件



我有一个可拖动的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/

最新更新