完整的div区域onclick

时间:2011-03-10 17:08:13

标签: javascript html

这个问题没有解决..它只是被躲避..所以不要用它作为参考

我拥有的是

<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时,地狱才有效

3 个答案:

答案 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

相关问题