Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跳过对焦或激活禁用的按钮(带角度)_Javascript_Angular_Button_Disabled Control_Stenciljs - Fatal编程技术网

Javascript 跳过对焦或激活禁用的按钮(带角度)

Javascript 跳过对焦或激活禁用的按钮(带角度),javascript,angular,button,disabled-control,stenciljs,Javascript,Angular,Button,Disabled Control,Stenciljs,当我按tab键在屏幕上的控件之间导航时(对于角度应用程序),当使用此角度机制有条件地禁用控件时,它在选项卡序列中包括禁用的控件: <button [disabled]="!this.myForm.valid"> 问题是,如果我还包括一个click事件处理程序 <button (click)="saveForm()" [disabled]="!this.myForm.valid"> …虽然确实不能用鼠标单击来激活单击处理程序,但可以通过按return(回车)来激

当我按tab键在屏幕上的控件之间导航时(对于角度应用程序),当使用此角度机制有条件地禁用控件时,它在选项卡序列中包括禁用的控件:

<button [disabled]="!this.myForm.valid">

问题是,如果我还包括一个click事件处理程序

<button (click)="saveForm()" [disabled]="!this.myForm.valid">

…虽然确实不能用鼠标单击来激活单击处理程序,但可以通过按return(回车)来激活它

这是一个糟糕的用户体验;当按钮被如图所示的表达式禁用时,我希望它(a)完全不可聚焦或(b)能够忽略按enter键。有什么建议吗


(也许我的代码库中有什么东西加剧了这一点,但对我来说,上面看起来像是默认的角度行为。

你能在StackBlitz中重现它吗?当它被禁用时,我不能用tab键锁定按钮,因此我可以使用return键激活它。你说的是禁用的控件或禁用按钮?在saveForm()中),您可以检查此.myForm.valid,如果它无效,只需结束该函数。@user184994感谢stackblitz。您准确地实现了我所描述的内容,因此我开始寻找在我的情况下独特的内容(可能是我对代码库中某些内容的注释)…所讨论的元素实际上不是标准的HTML元素(我使用的)但我代码中真正的组件是使用stencil web组件编译器(stenciljs.com)创建的元素。这可能是这里的问题。(我刚才也在问题中添加了该标记。)–如果尝试
禁用aria
,会发生什么?