我拥有的是
<div>
<img onclick='this.style.display="none";this.parentNode.getElementsByTagName("div")[0].style.display="block";this.parentNode.getElementsByTagName("div")[0].style.width=this.offsetWidth+"px";this.parentNode.getElementsByTagName("div")[0].style.height=this.height+"px";' src='http://static.***.pl/cache/***.pl/math/cafc682a15c9c6f1b7bb41eb004d6c45935cbf06434221f7201665f85242cb94.png'/>
<div onclick='this.style.display="none";this.parentNode.getElementsByTagName("img")[0].style.display="inline";' style='display:none'>
<pre style='width:100%;height:100%;'>
\lim_{t\to\infty}\int\limits_1^{t} \frac{1}{x^2}\,dx=\lim_{t\to\infty}\left(-\frac{1}{x}\right)\bigg|_1^t=\lim_{t\to\infty}\left(-\frac{1}{t}-\left(-\frac{1}{1}\right)\right)=\kappa=1880154404
</pre>
</div>
</div>
是的,我知道它的丑陋而且很好......
我的问题是,当我点击图像时它会按照我想要的方式进行操作,但是如果我再单击div它只有在我单击文本并且我希望它能够为完整的div工作时才有效!
我不想使用document.getElementById等...
此代码将有多个实例,并且它将位于未知位置。
我真的不想写臃肿的代码来做这个(这包括jQuery,flash,.NET,Zend Engine等等......)
我的问题很简单:
为什么只有当我点击文字以及如何为整个div点击onclick时,地狱才有效
答案 0 :(得分:2)
在原始的Javascript操作中,您将div的宽度和高度设置为零,这意味着没有可点击的区域。
以下是演示:http://jsfiddle.net/audetwebdesign/ndKqM/
应该证明修复。我添加了一些背景颜色和填充以显示各种盒子的尺寸。
我删除了计算宽度和高度的JS部分并修复了问题。
如果单击包含文本的浅绿色区域,则操作有效。
除非有其他原因,否则您无需调整宽度或高度。
答案 1 :(得分:0)
很难说出你真正想要的行为。
您要将图像设置为display:none,然后将兄弟div的style.height和style.width设置为image.height和image.width。所以 - 那些都是零(显示:没有为图像设置)。
帮自己一个忙,为你的div设置背景颜色或边框,以便在编码时看到正在发生的事情。
答案 2 :(得分:-1)
在您的onclick事件中使用A标记,并使用空网址href="javascript://"
代替DIV