禁用输入元素通常不会触发鼠标事件。虽然大多数浏览器将事件从禁用元素传播到其父容器,但 Firefox 不支持此行为。这可能会给某些场景带来挑战。
问题:
您需要处理禁用输入元素上的事件,但默认行为会阻止此操作。
解决方案:
为了解决这个问题,可以采用一种技术来拦截事件从禁用的输入元素触发单击未禁用的相邻元素。
这是使用 HTML 和 jQuery 的示例实现:
<div>
$("div > div").click(function (evt) { $(this).hide().prev("input[disabled]").prop("disabled", false).focus(); });
在此示例中, div 元素与禁用的输入元素重叠。单击 div 时,它会触发对输入元素的单击,从而启用输入元素并将焦点置于其上。
示例:
访问下面的 JSFiddle 示例可以看到这种技术行动:
https://jsfiddle.net/RXqAm/170/
以上是如何在 Firefox 等浏览器中的禁用输入元素上触发事件?的详细内容。更多信息请关注PHP中文网其他相关文章!