2016-09-24 85 views
1

每当我打开一个网页我工作的DOM,页面使得大量使用JavaScript延迟性肌肉酸痛量的,而且每一个看起来是这样的:我要附加`onclick`上使用javascript

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

让我说,我将其中的一个分配给一个名为a的变量,以便临时使用。

我还有另外一个功能,就是把它们放在每个页面上,包括a,一个onclick事件,它应该写在HTML代码页中,这样我就可以存储整个页面并在以后加载。

它重视的时刻是将dom加载到文档主体之前。创建doms,然后这个函数附加点击它们,然后将它们加载到文档体中。


什么是应该做的是使这个a到:

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

所以点击a打开一个新窗口。我做了一个CSS,因此无论如何,每个“链接”类看起来都像一个链接。


我试过包含其中的一个进功能实现上述变化:

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; 

我不知道为什么,他们不会在上附加onclick财产。

+0

http://stackoverflow.com/questions/7975708/how-to-add-click-event-to-anchor – yhabib

+0

请学会正确的词汇和谷歌VS DOM节点和对象属性VS DOM节点之间的区别论据。问题是,你说*(可能搜索)*关于不同的事情,而不是你实际上的意思。为什么你想用跨度替换适当的链接?当我无法在新标签中打开链接时,我讨厌它,因为你要做什么。非常多,如果我只需处理几次,就离开页面,寻找不同的地方来获得我想要的东西。这对我的浏览体验来说是一个巨大的不便和干扰。 – Thomas

+0

@Thomas我正在处理的页面作为本地文件运行。所以我真的很喜欢使用锚标签来建立链接,但浏览器不会允许它。我明白你对那些看起来不像是实际打开新窗口的链接的感觉,所以我向它们添加了适当的CSS。 – Dinir

回答

1

我不明白你在说什么,但如果你想在变量添加事件“一”,这有一个元素的对象引用: 使用事件侦听器

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

读到它这里 http://www.w3schools.com/js/js_htmldom_eventlistener.asp

+0

可以分别添加大量eventlistener到doms吗?我将有大约20多个需要onclick事件。 – Dinir

+0

是的,它不会造成任何麻烦或使您的网页缓慢 – shehryar

+1

在旧的IE的情况下,你应该使用attachEvent代替。 – jcubic

0

托马斯的回复让我回头再次看到锚标签,它尴尬地解决了这个问题。

这是我摆在那是对延迟性肌肉酸痛每一个做一个链接一个功能:

  • 实际改变“跨度”标签的一个标签。
  • 我可以使用a['href'] = 'http://example.com';将链接添加到标记或doms,并将其保留在HTML代码中。
0

你好把这些代码在你的脑袋节

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

,并与下面的代码替换您的跨度标签...

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

可能检查此代码,它的工作,我希望这也能帮助你。