Отключение перетаскивания для ввода текста с помощью JQuery - PullRequest
1 голос
/ 28 июля 2011

Мне нужно отключить функцию перетаскивания при нажатии на ввод текста.Страница имеет формат таблицы div с входами внутри, и вы можете перетаскивать страницу горизонтально, когда вы щелкаете и перетаскиваете куда угодно.Я хочу сделать это так, чтобы вы могли перетаскивать только, когда вы не нажимаете на один из входов, и отключать перетаскивание, когда вход нажимается, чтобы ввод можно было редактировать.Вот мой пример:

$('.dataContent').mousedown( function (event) { 
        if($(this).children().size()>0) {$(this)
        .data('down', true)
        .data('x', event.clientX)
        .data('scrollLeft', this.scrollLeft);

        return false;
        }

1 Ответ

0 голосов
/ 28 июля 2011

Вы можете использовать event.target , чтобы получить элемент, который был первоначальной целью события:

$('.dataContent').mousedown(function(event) {
    if ($(event.target).is("input:text")) {
        return;  // Target element is a text input, do not initiate drag.
    }

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