Иногда нам может потребоваться запретить браузеру какие-либо действия по умолчанию. Например, если вы кликаете по какой-либо ссылке, то браузер попробует перейти по ссылке указанной в атрибуте href. В Blazor мы можем запретить такое действие по умолчанию и переопределить поведение.
@on{EVENT}:preventDefault
Если нам необходимо запретить действие по умолчанию для какого-либо элемента, то мы можем использовать конструкцию вида:
@on{EVENT}:preventDefault [= True/False]
где EVENT — это событие DOM, которое мы хотим запретить. Если конструкция не содержит значение bool после знака =, то такая запись эквивалентна следующей:
@on{EVENT}:preventDefault = True
Например, в прошлой части мы определяли EventCallback для компонента SurveyPrompt. Несмотря на то, что клик по ссылке приводил к ожидаемому результату — выводу строки, браузер все равно переходил по ссылке. Чтобы этого не происходило, мы могли бы запретить такое поведение браузера следующим образом:
<a target="_blank" ..... @onclick:preventDefault="true">brief survey</a>
Соответственно, после запрета действия по умолчанию, мы можем определить новое поведение, назначив этому событию свой обработчик:
<a ..... @onclick:preventDefault="true" @onclick="OnClick">brief survey</a>
@code {
// Demonstrates how a parent component can supply parameters
public void OnClick()
{
здесь определяем новые действия
}