![]() |
1
279
禁用的元素不会触发鼠标事件。大多数浏览器都会将源自禁用元素的事件传播到DOM树上,因此事件处理程序可以放置在容器元素上。然而,Firefox并没有表现出这种行为,当你点击一个被禁用的元素时,它什么也不做。
jq公司:
http://jsfiddle.net/RXqAm/170/
(更新为使用jquery1.7和
|
![]() |
2
75
在某些浏览器中,禁用的元素“吃”点击——它们既不响应它们,也不允许事件处理程序在元素或其任何容器的任何位置捕获它们。 我认为,最简单、最干净的“修复”方法(如果您确实需要像OP一样捕获禁用元素上的点击)就是在页面中添加以下CSS:
这将使对禁用的输入的任何单击都进入父元素,在那里您可以正常捕获它们(如果您有几个禁用的输入,您可能希望将每个输入放在一个单独的容器中,如果它们还没有按这种方式排列的话—一个额外的容器
不幸的是,这种技巧对于不支持
如果您需要支持较旧的浏览器,则需要使用其他答案之一! |
![]() |
3
75
|
![]() |
4
15
而不是禁用属性。然后,您可以添加自己的CSS属性来模拟禁用的输入,但需要更多的控制。 |
![]() |
5
7
|
![]() |
6
7
实际上还有一个问题。事件
|
![]() |
7
4
或者用jQuery和CSS来实现这一点!
这样可以使元素看起来被禁用,并且不会触发任何指针事件,但是它允许传播,如果提交,可以使用“ignore”属性忽略它。 |
![]() |
8
0
今天我们遇到了这样的问题,但是我们不想改变HTML。所以我们用 mouseenter 为实现这一目标而举办的活动
|
|
9
-1
我找到了另一个解决方案:
类“disabled”按不透明度immitate disabled元素:
如果元素被禁用,则取消事件并删除类:
|
![]() |
10
-2
这里的建议看起来也很适合这个问题 Performing click event on a disabled element? Javascript jQuery
|
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 5 月前 |
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 5 月前 |
![]() |
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 5 月前 |
![]() |
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 6 月前 |