我通过数据绑定禁用了一个按钮。在运行时,该按钮是灰色的。当用户将光标悬停在按钮的非文本区域上时,该按钮将作为禁用按钮-用户无法单击它。但是,如果用户将光标悬停在按钮中的文本标签上,则可以单击它。为什么?
<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>
1条答案
按热度按时间qco9c6ql1#
当直接单击按钮时,
disabled
属性可防止触发单击事件。当你点击按钮的任何一个子元素时,该事件将冒泡到父元素。按钮不会触发自己的点击处理函数,但它会将事件传递给自己的父元素。
通过附加一个返回
false
的单击处理程序,可以防止<a>
元素的默认行为:注意:下面的代码片段实际上并不允许
<a>
打开一个新的标签页,但是你可以检查浏览器控制台,看看它在enabled() === true
时尝试执行的默认行为。第一个