我想使用javascript在DOM上附加`onclick`

时间:2016-09-24 09:42:57

标签: javascript html5 dom onclick

每当我打开我正在处理的页面时,该页面会使用javascript创建大量的doms,每个页面看起来像这样:

<span class="link img">text</span>

我说我将其中一个分配给名为a的变量,暂时为。

我还有另外一个函数,包括aonclick事件,应该写在HTML代码页中,这样我就可以存储整个页面并加载它以后。

它附加的时刻是在将doms装入文件主体之前。创建doms,然后在onxlick上单击此函数,然后将它们加载到文档正文中。

应该做的是将a改为:

<span class="link img" 
 onclick="function(){window.open('http://example.com')}">
     text
</span>

因此,点击a会打开一个新窗口。我创建了一个CSS所以每个链接&#39;无论如何,class看起来像一个链接。

我尝试将其中一个包含到函数中以实现上述更改:

a.onclick = function(){window.open('http://example.com')};

a["onclick"] = function(){window.open('http://example.com')};

const openFunc = function(){
    window.open('http://example.com')
};
a["onclick"] = openFunc;

我不知道为什么,他们不会在a附加onclick属性。

3 个答案:

答案 0 :(得分:1)

我不明白你在说什么,但如果你想在变量'a'上添加一个具有元素对象引用的事件: 使用事件监听器

a.addEventListener("click",funcNametocall,false);

在这里阅读 http://www.w3schools.com/js/js_htmldom_eventlistener.asp

答案 1 :(得分:0)

托马斯的回复让我再次回顾锚标签,并且尴尬地解决了这个问题。

这就是我在将每个dom作为链接的函数中放入的内容:

  • 实际上将'span'标记更改为'a'标记。
  • 我可以使用a['href'] = 'http://example.com';添加标签或doms的链接,并将其保留为HTML代码。

答案 2 :(得分:0)

你好把这些代码放在你的头部

<script type="text/javascript">
      function openWindows(argument) {
        window.open('http://example.com')
      }
  </script>

并使用以下代码替换您的span标记...

<span class="link img" onClick="openWindows();">text</span>

可以检查一下这段代码是否正常,我希望这也会对你有帮助。