我有一个禁用了一些输入的表单。我希望双击时启用这些输入。不幸的是,JS 事件似乎不会在禁用输入时触发。
<input type="text" value="asdf" disabled="disabled" ondblclick="this.disabled=false;">
有没有办法绕过这个限制?
还是我只需要将任何受影响的输入包装在一个跨度中以容纳该事件?
我有一个禁用了一些输入的表单。我希望双击时启用这些输入。不幸的是,JS 事件似乎不会在禁用输入时触发。
<input type="text" value="asdf" disabled="disabled" ondblclick="this.disabled=false;">
有没有办法绕过这个限制?
还是我只需要将任何受影响的输入包装在一个跨度中以容纳该事件?
ondblclick
不会在disabled
元素上触发,您应该将其标记为readonly
:
<input type="text" value="asdf" readonly="true" ondblclick="this.readOnly='';">
您必须将元素包装在容器中,因为该事件不会在禁用的元素上触发。
<div ondblclick="document.getElementById('test').disabled=false;">
<input type="text" id="test" value="asdf" disabled="disabled"></div>
标记为正确的答案不会将输入恢复为需要再次双击以再次编辑。
为此添加此 onchange 函数:onchange="this.readOnly='true';"
整个事情: onchange="this.readOnly='true';" readonly="true" ondblclick="this.readOnly='';"
这会做!对我有用,因为“禁用”和“只读”看起来几乎相同(至少在引导程序中)。内联脚本不适用于禁用的属性。
<input type="text" ondblclick="this.readOnly=false;" readonly/>