Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 再次检测跨度何时变为可见**_Javascript_Events_Visibility_Html - Fatal编程技术网

Javascript 再次检测跨度何时变为可见**

Javascript 再次检测跨度何时变为可见**,javascript,events,visibility,html,Javascript,Events,Visibility,Html,这可能以前有人问过,但我找不到令人满意的答案 在HTML标记中,我有一个带有onclick事件的SPAN元素,类似于 <span onclick='loadDiv()'>Text</span> 文本 当用户单击span时,具有较高z索引的DIV绝对位于span上(类似于对话框窗口)。然后,用户在DIV内部执行一个命令,DIV的显示设置为“无”,它将不可见 当跨度再次可见时,如何从跨度角度进行检测?如何实现类似于“的功能再次修改隐藏div的函数以接受回调 functio

这可能以前有人问过,但我找不到令人满意的答案

在HTML标记中,我有一个带有onclick事件的SPAN元素,类似于

<span onclick='loadDiv()'>Text</span>
文本
当用户单击span时,具有较高z索引的DIV绝对位于span上(类似于对话框窗口)。然后,用户在DIV内部执行一个命令,DIV的显示设置为“无”,它将不可见


当跨度再次可见时,如何从跨度角度进行检测?如何实现类似于
“的功能再次修改隐藏div的函数以接受回调

function hideThatDiv(callback){
   //whatever code hides your div
   callback.apply({what you'd like `this` to refer to}, [array, of, args])
}

事实上,这个解决方案是微不足道的

<span onclick='loadDiv(); var i=setInterval(function(){if (xdivDialog.style.display=="none") {clearInterval(i); handleEvent()}},1000)'>Text</span>
文本

基本上,在
onClick
事件中,我启动timer定期检查dialog DIV是否再次隐藏。一旦检测到这一点,我停止timer并处理事件。

忘了提及-在纯JS中需要这一点,而不是使用jQuery,将更新Q。关键是在javascript(或jQuery)中没有真正的方法。请参阅问题中的答案链接。您所能做的就是插入一些在触发显示/隐藏事件时执行的代码。无法侦听属性的更改。从技术上讲,从CSS角度来看,您的跨度始终可见。它的z索引比您的div低,无论是否可见。我怀疑您的意思是“在代码片段中使用“onclick”而不是“onclik”。使用JQuery有什么问题?它基本上只是一堆javascript库。无论如何,最好的办法就是在将div设置为隐藏的函数中包含“no really,It is visible”代码。