javascript - Firefox 没有在周围的 div 上注册点击事件

标签 javascript jquery html events input

我有以下代码:

<div data-type="nameHolder">
   <input data-type="name" disabled="">
</div>

我的想法是保持输入禁用,只有当你双击它时才启用它。但是,由于在禁用元素上未检测到点击事件,因此我使用的是 holder div。这在 Chrome 上工作正常,但在 Firefox 上不行。知道如何解决吗?

最佳答案

由于禁用元素不会触发事件,您可以使用 div 作为输入的包装器并将事件处理程序附加到此 div。当您双击 wrapper div 时,启用输入并隐藏 wrapper div。

$('.wrapper').dblclick(function(){
 $(this).prev('input').attr('disabled', false);
 $(this).hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div data-type="nameHolder">
   <input data-type="name" disabled="">
   <div class="wrapper" style="position:absolute; top:0;left:0;right:0;bottom:0"></div>
</div>

关于javascript - Firefox 没有在周围的 div 上注册点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45343577/

相关文章:

Javascript:正则表达式 .test() 用于空白

jquery - 如何对 jquery marginleft 进行限制

javascript - 在悬停事件上隐藏 div

javascript - 选择多次显示的菜单

javascript - 使用 javascript 验证单选按钮

html - 相互堆叠动态增长的 div,它们之间没有空格

html - 从底部开始定位网格元素

javascript - 为绘图节点初始化 cytoscape javascript 图形库

javascript - 我想加载 JSON 时可以使用原始 JavaScript 吗?

javascript - 在引用 Angular 指令之前放置 `data-` 有什么好处