В настоящее время я разрабатываю компонент всплывающей подсказки в рамках Blazor. Функциональность, которую я пытаюсь достичь, заключается в том, чтобы всплывающая подсказка исчезала при нажатии клавиши Escape, когда кнопка находится в фокусе.
Мне удалось реализовать эту функцию с помощью следующего кода: но он основан на JavaScript, которого я бы предпочел избегать, если это возможно.
Вот моя текущая реализация
@inject IJSRuntime JSRuntime
test
Password Rules:
test
@code {
ElementReference tooltip;
bool showTooltip = false;
void ToggleTooltip()
{
showTooltip = !showTooltip;
if (showTooltip)
{
tooltip.FocusAsync();
}
}
async Task CloseTooltip(KeyboardEventArgs e)
{
if (e.Key == "Escape")
{
showTooltip = false;
await JSRuntime.InvokeVoidAsync("Blurred", tooltip);
await InvokeAsync(StateHasChanged);
}
}
}
window.Blurred = function(element) {
element.blur();
};
* {
margin: 0;
padding: 0;
}
[role="tooltip"] {
margin-top: .75rem;
display: none;
position: absolute;
background: black;
color: white;
}
[role="tooltip"]:before {
margin-top: -7px;
content: "";
border: 7px solid transparent;
border-bottom-color: #000;
border-top-width: 0;
position: absolute;
}
button:hover + [role="tooltip"],
button:focus + [role="tooltip"],
[role="tooltip"]:focus {
display: block;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... hout-using
Как расфокусировать кнопку в Blazor/C# при нажатии клавиши Escape без использования JavaScript? ⇐ CSS
Разбираемся в CSS
1715281925
Anonymous
В настоящее время я разрабатываю компонент всплывающей подсказки в рамках Blazor. Функциональность, которую я пытаюсь достичь, заключается в том, чтобы всплывающая подсказка исчезала при нажатии клавиши Escape, когда кнопка находится в фокусе.
Мне удалось реализовать эту функцию с помощью следующего кода: но он основан на JavaScript, которого я бы предпочел избегать, если это возможно.
Вот моя текущая реализация
@inject IJSRuntime JSRuntime
test
Password Rules:
test
@code {
ElementReference tooltip;
bool showTooltip = false;
void ToggleTooltip()
{
showTooltip = !showTooltip;
if (showTooltip)
{
tooltip.FocusAsync();
}
}
async Task CloseTooltip(KeyboardEventArgs e)
{
if (e.Key == "Escape")
{
showTooltip = false;
await JSRuntime.InvokeVoidAsync("Blurred", tooltip);
await InvokeAsync(StateHasChanged);
}
}
}
window.Blurred = function(element) {
element.blur();
};
* {
margin: 0;
padding: 0;
}
[role="tooltip"] {
margin-top: .75rem;
display: none;
position: absolute;
background: black;
color: white;
}
[role="tooltip"]:before {
margin-top: -7px;
content: "";
border: 7px solid transparent;
border-bottom-color: #000;
border-top-width: 0;
position: absolute;
}
button:hover + [role="tooltip"],
button:focus + [role="tooltip"],
[role="tooltip"]:focus {
display: block;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78456532/how-to-unfocus-a-button-in-blazor-c-when-pressing-the-escape-key-without-using[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия