首页 > web前端 > js教程 > 如何捕获禁用输入字段上的事件?

如何捕获禁用输入字段上的事件?

Patricia Arquette
发布: 2024-12-16 20:15:16
原创
913 人浏览过

How Can I Capture Events on Disabled Input Fields?

如何在禁用的输入字段上捕获事件

禁用的输入字段通常不处理事件侦听器。如果您需要根据用户与此类输入的交互启用功能,这可能是一个挑战。

解决方法:

要解决此问题,您可以设置事件处理程序在容器元素上,因为浏览器经常将源自禁用元素的事件沿 DOM 树传播。但是,某些浏览器(例如 Firefox)不会以这种方式运行。

跨浏览器解决方案:

为了实现完整的跨浏览器兼容性,您可以放置​​一个透明的元素,例如

<div>,位于禁用的输入字段前面。此元素将捕获单击事件:
<div>
登录后复制
$("div > div").click(function (evt) {
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});
登录后复制

使用此解决方法,透明叠加层上的单击事件将启用禁用的输入字段并为其提供焦点。

演示:

您可以在以下位置查看此解决方案的实际效果: http://jsfiddle.net/RXqAm/170/(使用 jQuery 1.7 和 prop 而不是 attr)。

以上是如何捕获禁用输入字段上的事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板