使用普通javascript按钮而不是html href触发href

使用普通javascript按钮而不是html href触发href,javascript,html,twitter-bootstrap,Javascript,Html,Twitter Bootstrap,我有一个由html按钮触发的模式。相反,我想用香草Javascript触发模式。最终,我想通过日期计算触发模式,提醒用户一些事情,但这是另一天的战斗 现在,如果我能用Javascript函数而不是html按钮触发模式,我会非常高兴。我不想使用jquery,我正在努力使事情简单明了 以下是HTML: <a href="#openModal">Open Modal</a> <div id="openModal" class="modalDialog">

我有一个由html按钮触发的模式。相反,我想用香草Javascript触发模式。最终,我想通过日期计算触发模式,提醒用户一些事情,但这是另一天的战斗

现在,如果我能用Javascript函数而不是html按钮触发模式,我会非常高兴。我不想使用jquery,我正在努力使事情简单明了

以下是HTML:

<a href="#openModal">Open Modal</a> 
<div id="openModal" class="modalDialog"> 
    <div> 
        <a href="#close" title="Close" class="close">X</a> 
        <h2>Modal Box</h2> 
        <p>This is a sample modal box using CSS3. 
        </p> <p>You could do a lot of things here.</p> 
    </div> 
</div>
您可以“模拟”从JS单击功能。简单地说,在DOM中获取对锚元素的引用并对其执行click事件。它的行为就像您手动单击它一样

const anchor = document.querySelector('a');
anchor.click();

如果模态是按照我认为的方式工作的(对于纯CSS也是如此,顺便说一句,它是不存在的),那么您应该能够运行

window.location.hash = '#openModal'; 
打开模式和

window.location.hash = '#';
关闭它

这是一个有效的例子。

感谢“Virhonestrom”提供的答案:

HTML:


@MikeB请在你的问题中包括所有CSS代码,以及所有与此相关的代码,否则很难回答help@MikeB我添加了一个工作示例,看看是否有帮助。谢谢!是的,我用工作示例提琴工作了…非常感谢,但我不明白。让我们这样说:我正在为3周前,我打开了我的文本编辑器,输入了“@MikeB,别担心:)。让我一步一步地解释。你知道对DOM的引用是什么吗?它是一个连接浏览器中呈现的DOM和JavaScript的“链接”。我相信你有一些功能,当触发时应该显示模态?为了做到这一点,您的JS必须连接到所述DOM。我们可以通过查询您的页面(文档)来实现这种链接。在查询中,我们指定需要“a”元素。当我们收到这样的引用时,我们可以发出元素上的任何事件,就好像用户与它交互一样。在你的情况下,我们需要点击事件。谢谢你,我保存了你的答案,以防我遇到需要DOM的东西,我没有使用yetGood运气进一步发展。您可以从所有人给出的答案中选择一个,将此问题标记为已回答。也鼓励向上投票有用的答案,因为这会激励用户更加乐于助人。干杯谢谢系统说我在这里太新了,不会影响公众投票。我要求您添加css,因为知道模态功能基于
:target
伪类非常重要,这在查看HTML时并不明显。明白了,再次感谢您提供了解决此问题的示例
window.location.hash = '#';
        <button onclick="openModal()">Open Modal</button>
        <div id="openModal" class="modalDialog"> 
        <div> 
        <a title="Close" class="close" onclick="closeModal()">X</a> 
        <h2>Modal Box</h2> 
        <p>This is a sample modal box using CSS3.</p> 
        <p>You could do a lot of things here.</p> 
        </div> 
        </div>
    function openModal(){
    window.location.hash = '#openModal'; 
    }

    function closeModal(){
    window.location.href = '#'; 
    }