Перетаскиваемая отмена запуска размытия - PullRequest
0 голосов
/ 28 марта 2012

У меня есть перетаскиваемый div, который, конечно, можно перетаскивать. Внутри у меня есть входной текст, который имеет два события (фокус и размытие). Также внутри у меня есть другой div, который служит перетаскиваемым div отмены (перетаскивание этого div предотвращает любое перетаскивание).

вы можете увидеть это здесь: http://jsfiddle.net/wUDzh/4/

  • Нажатие на поле ввода вызовет событие фокуса, а нажатие за пределами основного div (красного) вызовет событие размытия. Это хорошо.
  • Нажатие или перетаскивание основного деления НЕ будет вызывать событие размытия. Вот чего я хочу.
  • Проблема в том, что нажатие на кнопку отмены (синяя) вызывает размытие в поле ввода. Что имеет смысл, но это не то, что я хочу.

Есть ли способ предотвратить возникновение размытия, как поведение основного div?

ТНХ

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Чтобы предотвратить размытие поля ввода при нажатии отмены div, просто выполните:

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

См. скрипка

1 голос
/ 28 марта 2012

Вы могли бы сделать

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...