我有一个弹出窗口,其中包含一个onclick操作,用于在按下提交按钮时关闭框:
<input type="submit" name="submit" value="submit" onclick="javascript: window.close();">
我正试图调整它等待3秒钟后,提交按钮被点击关闭。
我读过一篇文章,建议使用这在:
<script>
setTimeout("window.close()",3000)
</script>
但无论是否点击按钮,它都会在3秒后关闭弹出窗口。
我怎样才能使它与按钮配合使用?
4条答案
按热度按时间t3irkdon1#
您的第一个版本与编写的版本相同
因为它将在单击时关闭窗口。
你的第二个版本和写的一样。但是你看起来有点困惑,所以让我解释一下。
当这个函数内嵌在你的html文件中时,它将在视图渲染时执行。当执行时,这个代码将从字符串参数构造一个新的函数,然后在3000毫秒内调用它。
它不依赖于任何东西,只是在渲染引擎遇到它时运行。
为了把这个和(而不仅仅是像第一个版本中所示的那样采取将其放置在元素上的快捷方式)您将需要一个 * 事件 *,在JavaScript中,这个事件将是click事件,为了访问click事件,你需要在你想要处理事件的元素上放置一个clickeventhandler。为了访问元素,必须在加载DOM时查询页面。
querySelectorAll documentation
完成此操作后,可以从元素中移除onclick事件处理程序
这就是适合您的情况的最佳实践方法。
如果您决定使用jQuery来完成这一任务,那么可以使用document.ready功能的快捷方式(例如等待所有元素可用),然后在该快捷方式的回调中,您可以将目标指向该元素(在jQuery中,您使用css-ish选择器),然后告诉jQuery注册click事件,这涉及到另一个回调函数。
它看起来像这样:
wpx232ag2#
试着把所有东西都结合起来:
m528fe3b3#
尝试:
然后在Javascript中添加如下函数:
没有测试过,但应该能用。
wkyowqbh4#
这对我来说确实很有效: