我有一个表单字段,开始禁用,并有一个onClick启用它.onClick不会触发(至少在FF中)也不会发出简单警报(1);
hacky版本是在它的位置显示一个假的表单字段"看起来"它被禁用(灰色样式)和onClick,隐藏它并显示正确的字段启用,但这很难看.
示例代码
这有效:
<input type="text" id="date_end" value="blah" onClick="this.disabled=true;">
Run Code Online (Sandbox Code Playgroud)
这有效:
<label for="date_end_off" onClick="document.getElementById('date_end').disabled=false">Test</label>
<input type="text" id="date_end" value="blah" onClick="alert(1);" disabled>
Run Code Online (Sandbox Code Playgroud)
这失败了:
<input type="text" id="date_end" value="blah" onClick="alert(1);" disabled>
Run Code Online (Sandbox Code Playgroud)
这失败了:
<input type="text" id="date_end" value="blah" onClick="document.getElementById('date_end').disabled=false" disabled>
Run Code Online (Sandbox Code Playgroud)
iam*_*oat 10
我在另一个论坛中遇到过这个帖子,所以我想我将不得不采取另一种方式.
http://www.webdeveloper.com/forum/showthread.php?t=186057
Firefox以及其他浏览器可以禁用已禁用的表单字段上的DOM事件.从已禁用的表单字段开始的任何事件都将被完全取消,并且不会在DOM树中向上传播.如果我错了,请纠正我,但如果您单击禁用按钮,则事件源是禁用按钮,并且完全消除了单击事件.浏览器字面上不知道点击的按钮,也没有通过点击事件.就像你点击网页上的黑洞一样.
解决方法:
| 归档时间: |
|
| 查看次数: |
76867 次 |
| 最近记录: |