Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает disable (https://javascript.ru/forum/events/71491-ne-rabotaet-disable.html)

mazahaler 22.11.2017 20:29

Понятно, спасибо.
У меня еще 1 вопрос, если вас не затруднит:
Как проверить что юзер кликнул на любом участке страницы, кроме списка?

laimas 22.11.2017 20:33

Цитата:

Сообщение от mazahaler
юзер кликнул на любом участке страницы, кроме списка?

А что подразумевается под списком? По крайней мере в коде такого html элемента не наблюдается.

mazahaler 22.11.2017 20:39

Цитата:

Сообщение от laimas (Сообщение 471029)
А что подразумевается под списком? По крайней мере в коде такого html элемента не наблюдается.

Древовидный список, состоящий из записей базы данных подгружается с помощью ajax в <div id="treeview"></div>
Состоит из ul li

laimas 22.11.2017 20:50

А щелчки в самих полях ввода?

mazahaler 22.11.2017 20:55

Цитата:

Сообщение от laimas (Сообщение 471032)
А щелчки в самих полях ввода?

Да, вы верно подметили, получается надо сделать чтобы щелчок в любой области страницы кроме самого списка и полей ввода делал input'ы неактивными

laimas 22.11.2017 21:12

Ну если доступными поля делает щелчок по списку, тогда так:

$(function() {
    $(document).click(function(e) {
        $('#addorgform input').prop('disabled', (e.target.tagName!='LI' || !$(e.target).closest('#treeview').length) && e.target.tagName!='INPUT')
    })
});


Если список на странице один, то проверку родителя из условия можно убрать. А если нет и чтобы вверх далеко не передвигаться, лучше UL дать одно имя класса, которое и проверять как у родителей LI.

mazahaler 22.11.2017 21:17

laimas, Большое вам спасибо, то что нужно)


Часовой пояс GMT +3, время: 13:22.