如何通过单击隐藏在 JavaScript 中的 div 来触发函数?

Posted

技术标签:

【中文标题】如何通过单击隐藏在 JavaScript 中的 div 来触发函数?【英文标题】:How can I trigger a function by clicking a div which is hidden in JavaScript? 【发布时间】:2015-06-08 02:32:05 【问题描述】:

我有一个 javascript 中的 div,最初是隐藏的。现在我希望通过猜测它的位置单击它时再次显示该 div,因为它对我不可见,但我无法触发 Javascript使其再次可见的功能。那么实现相同目标的替代方法是什么。

示例代码如下:

<div id="box"style="width:400px; height:300px; background-color:black; visibility:hidden" onclick="show(box)">

功能如下:

function show(id) 
document.getElementById(id).style.visibility = "visible";

但上面的方法不行,请建议另一种方法。

【问题讨论】:

【参考方案1】:

我不会将显示设置为无或将可见性设置为隐藏,而是更改不透明度:

function show(id) 
    document.getElementById(id).style.opacity = 1;
&lt;div id="box" style="width:400px; height:300px; background-color:black; opacity:0" onclick="show('box')"&gt;

另请注意,您的事件处理程序中需要引号 (onclick="show('box')"),否则浏览器会假定 box 是一个变量。

【讨论】:

是的,我知道,只是匆忙输入了示例代码。 :)【参考方案2】:

您可以使用文档单击事件侦听器(或框的父级)并检查鼠标指针是否在框区域然后将可见性设置为可见。

document.addEventListener("click", (e) => 
    if (e.pageX <= 400 && e.pageY <= 300) 
         document.getElementById("box").style.visibility = "visible";
    
);

【讨论】:

以上是关于如何通过单击隐藏在 JavaScript 中的 div 来触发函数?的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:单击提交按钮时如何将隐藏的输入标签附加到表单中?

如何在 document.write('') 之后显示隐藏按钮?

如何使用 Phonegap 和 javascript 在 iPhone 上隐藏和显示键盘

仅使用 Javascript 显示/隐藏单击按钮的密码

如何通过 JavaScript 获取 html 表格 td 单元格值?

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?