2015-06-05 33 views
-4

我是一个应该具有触发函数的onclick函数的cog符号。当我点击它不起作用。它有绝对的定位是否重要?我怎样才能解决这个问题?onclick是否适用于任何定位?

我用这个HTML:

<div id="cogdiv" onclick="theme()"> 
    <h1 id="cog" class="themechange fa fa-cog" onclick="theme()"></h1> 
</div> 

和这个JS:当我在控制台运行

var theme = function() { 
    document.getElementById('themes').style.animation = "themesappear 2s forwards"; 
    document.getElementById('themes').style.WebkitAnimation = "themesappear 2s forwards"; 
}; 

的功能工作。

检查元素here了解更多代码。

+1

请在此处添加有意义的代码和问题描述。不要只是链接到需要修复的网站 - 否则,一旦问题解决,这个问题将会给未来的访问者带来任何价值。发布一个证明你的问题的[简短的,自包含的,正确的例子(SSCCE)](http://www.sscce.org/)将帮助你得到更好的答案。有关更多信息,请参见[我网站上的某些内容不起作用。我可以只粘贴一个链接吗?](http://meta.stackexchange.com/questions/125997/)谢谢! – Cerbrus

+0

如果您在实际问题中发布代码,而不是未来可能会消失的外部链接,则最好。这样,这个问题对于其他人在未来的长远发展是有用的。 – Kmeixner

+0

不,它不会 - 如果元素位于另一个阻挡鼠标的元素的后面,请考虑一下 - 检查z-index属性,如果不尝试添加一些。 –

回答

1

绝对定位有没有影响关于onClick事件如何被触发。

你只是定位您的元素下面的另一个元素,所以另一个元素是阻止鼠标事件


尝试添加到您的CSS:

#cogdiv { 
z-index: 9999; //or greater, or 1. Just make sure it's bigger than the overlapping element's z-index 
} 

什么z-index和阅读起来CSS stack-order也可能有所帮助。

+0

这还没有完全解决它。 OP在仍然覆盖齿轮的页面上有不同的元素。 – Cerbrus

+0

@Cerbrus我知道,但我当然不打算在这个问题上解释CSS文档流:) - 他知道现在发生了什么,如果他想修复根,那么这是另一个问题 –

+0

如果你不是要解决他的问题,那么为什么要麻烦回答呢?你的回答没有解决任何问题 – Cerbrus