2012-08-10 47 views
1

使用jQuery,我为一些“li”HTML元素附加了一个“click”事件处理程序。点击事件没有开火。为什么?

的问题是:当我点击“礼”元素,将不会触发事件。

“怎么了?” - 你会问...所以,看到自己in this simple jsFiddle

考虑:

  • 我在Ubuntu系统上的Firefox 14.0.1和Chrome 16.0.912.77测试。
  • 我已经剥去我的原代码,而“狩猎”的事业CSS,HTML和JS了很多东西。
  • 您可以在形式标签上单击元素,看到事件处理函数的工作。但尝试点击li元素...不起作用!
  • 如果你只是从“丽”的元素,或从“形式”的position: relative风格删除float: left风格,那么问题就消失了!

所以,我不完全询问如何规避或解决该问题,我问为什么“click”事件不火。这是一个错误?什么错误?浏览器? jQuery的? CSS?这对我来说根本没有意义,我很乐意看到一个解释!

谢谢。

+0

我没有改变什么在你的代码中,它适用于我 – Peru 2012-08-10 11:42:18

回答

4

因为li的做浮动和形式有一个position:relative,形式在于上述li的,因此,你仍可以单击如果您正在使用萤火虫或Webdeveloper‘图像’

BTW。: 你可以检测到的工具。

+0

确实......如果我只是在表单中添加'z-index:-1'样式,我可以点击上面的'li'。这个问题真的是一个CSS的问题:为什么'position:relative'使'form'站在'ul'之上? – 2012-08-10 12:35:48

+0

问题不在于相对位置,而在于float,因为ul没有宽度。 – SamiSalami 2012-08-10 12:57:07

1

如果您检查与萤火虫或类似的东西你的DOM,你会发现你的形式漂浮在您的UL的第一要素,therfore它的工作原理“形象”上,因为它不是由您的形式隐藏。 尝试在jsFiddle中清空你的CSS代码,一切都将按预期工作。

0

为什么点击功能无法正常工作的原因是 元素不放在里面形式

相关问题