#javascript #html #css
#javascript #HTML #css
Вопрос:
** Как заставить тег ‘li’ работать с событиями javascript, которые находятся внутри набора полей (отключены). Я не знаю, почему это не работает, пожалуйста, помогите с этим. **
const enabledButton = document.querySelector('.file-download');
enabledButton.addEventListener('click', () => alert("ok"));
.file-displayer {
padding-left: 5px;
max-height: 50px;
overflow-y: scroll;
overflow-x: auto;
}
.file-download {
display: block;
cursor: pointer;
color: blue;
font-size: 12px;
}
[role="button"] {
-webkit-appearance: button;
appearance: button;
cursor: defau<
font-style: normal;
-webkit-user-select: none;
user-select: none;
}
<link href="https://www.w3schools.com/w3css/4/w3.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<fieldset disabled>
<label id="77">amp;nbsp;Supporting documents</label><br id="78"><button id="79" type="button" class="w3-button w3-indigo w3-border w3-round-large" style="margin-top: 3px;">amp;nbsp;Attach</button><input id="80" name="supdoc" type="file" required="true" accept="*"
style="display: none;">
<ul id="81" name="supdoc_displayer" class="file-displayer" style="width: 100%;"><span><i class="fa fa-minus-square w3-left" title="delete" aria-hidden="true" style="color: red; cursor: pointer;">amp;nbsp;amp;nbsp;</i><span class="sr-only">delete</span>
<li class="file-download" role="button" tabindex="0" title="download">roles.PNG</li>
</span>
</ul>
</fieldset>
</body>
Комментарии:
1. Если родительский элемент отключен, дочерние элементы будут отключены…..
2. Установите для свойства fieldset disabled значение false.
Ответ №1:
Если вы добавите класс pointer-events:auto!important;
в .file-download
, он будет работать. если вы используете консоль разработки без события добавления указателя, вы увидите, что оно отключено как родительское.
const enabledButton = document.querySelector('.file-download');
enabledButton.addEventListener('click', () => alert("ok"));
.file-displayer {
padding-left: 5px;
max-height: 50px;
overflow-y: scroll;
overflow-x: auto;
}
.file-download {
display: block;
cursor: pointer;
color: blue;
font-size: 12px;
pointer-events:auto!important;
}
[role="button"] {
-webkit-appearance: button;
appearance: button;
cursor: defau<
font-style: normal;
-webkit-user-select: none;
user-select: none;
}
<link href="https://www.w3schools.com/w3css/4/w3.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<fieldset disabled>
<label id="77">amp;nbsp;Supporting documents</label><br id="78"><button id="79" type="button" class="w3-button w3-indigo w3-border w3-round-large" style="margin-top: 3px;">amp;nbsp;Attach</button>
<input id="80" name="supdoc" type="file" required="true" accept="*" style="display: none;">
<ul id="81" name="supdoc_displayer" class="file-displayer" style="width: 100%;"><span><i class="fa fa-minus-square w3-left" title="delete" aria-hidden="true" style="color: red; cursor: pointer;">amp;nbsp;amp;nbsp;</i><span class="sr-only">delete</span><li class="file-download" role="button"
tabindex="0" title="download">roles.PNG</li></span></ul>
</fieldset>
</body>
Комментарии:
1. Добро пожаловать 🙂 пожалуйста, поддержите и примите мой ответ.
2. @shivaan не могли бы вы отметить ответ, пожалуйста?
Ответ №2:
Предложить альтернативный ответ…
Избавьтесь от тега disabled и отключите его с помощью Javascript. Присвойте идентификатор набору полей и списку, который вы хотите сохранить включенным. Затем в JS при загрузке страницы или подобном событии отключите набор полей, а затем включите список.
Я думаю, что это более простое и эффективное решение. Поскольку это конкретно только li. Параметр — для удаления записи по-прежнему независим и отключен.
Итак, вы можете щелкнуть по нему, и ничего не произойдет. (В настоящее время) Вместо того, чтобы нажимать на него и получать предупреждение, как будто это часть списка!
Смотрите фрагмент ниже:
$(document).ready(function () {
$('#form :input').prop('disabled', true);
$("#btn1").prop('disabled', false);
})
const enabledButton = document.querySelector('.file-download');
enabledButton.addEventListener('click', () => alert("ok"));
.file-displayer {
padding-left: 5px;
max-height: 50px;
overflow-y: scroll;
overflow-x: auto;
}
.file-download {
display: block;
cursor: pointer;
color: blue;
font-size: 12px;
}
[role="button"] {
-webkit-appearance: button;
appearance: button;
cursor: defau<
font-style: normal;
-webkit-user-select: none;
user-select: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<link href="https://www.w3schools.com/w3css/4/w3.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<fieldset id="form">
<label id="77">amp;nbsp;Supporting documents</label><br id="78"><button id="79" type="button" class="w3-button w3-indigo w3-border w3-round-large" style="margin-top: 3px;">amp;nbsp;Attach</button>
<input id="80" name="supdoc" type="file" required="true" accept="*" style="display: none;">
<ul id="81" name="supdoc_displayer" class="file-displayer" style="width: 100%;">
<span><i class="fa fa-minus-square w3-left" title="delete" aria-hidden="true" style="color: red; cursor: pointer;">amp;nbsp;amp;nbsp;</i><span class="sr-only">delete</span>
<li id="btn1" class="file-download" role="button" tabindex="0" title="download">roles.PNG</li>
</span>
</ul>
</fieldset>
</body>