我有以下代码:
<div data-type="nameHolder">
<input data-type="name" disabled="">
</div>
我的想法是保持输入禁用,只有当您双击它才能启用它。但是,由于在禁用的元素上未检测到点击事件,因此我使用了持有者div。这适用于Chrome,但不适用于Firefox。知道怎么解决吗?
答案 0 :(得分:2)
由于禁用的元素不会触发事件,因此您可以使用div作为输入的包装器并将事件处理程序附加到此div。当您双击包装器div时,启用输入并隐藏包装器div。
$('.wrapper').dblclick(function(){
$(this).prev('input').attr('disabled', false);
$(this).hide();
});
&#13;
<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>
&#13;
答案 1 :(得分:1)
here已针对您的案例提供解决方案。作者建议在禁用的输入前面放置一个元素,并抓住该元素的点击以获得交叉浏览器支持。