knockout.js 禁用按钮时,按钮的标签文本仍可单击

nqwrtyyt  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(150)

我通过数据绑定禁用了一个按钮。在运行时,该按钮是灰色的。当用户将光标悬停在按钮的非文本区域上时,该按钮将作为禁用按钮-用户无法单击它。但是,如果用户将光标悬停在按钮中的文本标签上,则可以单击它。为什么?

<div class="flextable-item">
            <div class="btn-toolbar dashhead-toolbar float-left">
                <a href="@Url.Action("Edit", "VendorManagement", new { area = "Vendor" })/@Model.Id">
                    <button type="button" class="btn btn-primary-outline" data-bind="enable: EnableDetail">
                        <span class="icon icon-pencil" > Edit</span>
                    </button>
                </a>
            </div>
        </div>
qco9c6ql

qco9c6ql1#

当直接单击按钮时,disabled属性可防止触发单击事件。
当你点击按钮的任何一个子元素时,该事件将冒泡到父元素。按钮不会触发自己的点击处理函数,但它会将事件传递给自己的父元素。
通过附加一个返回false的单击处理程序,可以防止<a>元素的默认行为:
注意:下面的代码片段实际上并不允许<a>打开一个新的标签页,但是你可以检查浏览器控制台,看看它在enabled() === true时尝试执行的默认行为。
第一个

相关问题