2012-05-02 106 views
18

示例代码跨度onclick事件标签

<a href="page" style="text-decoration:none;display:block;"> 
    <span onclick="hide()">Hide me</span> 
</a> 

由于一个标签是在跨度内是不可能点击它。我试着z-index但那不起作用

+0

这只是一个简单的示例代码:D存在一个标签内的另一个东西。我想隐藏洞的东西 – Ben

+0

所以你想隐藏跨度时单击超链接。我对吗? – user1135357

+0

noo隐藏功能会隐藏标签的洞。有一个循环显示10。我使用.closest()。fadeOut();但我不能点击跨度标签,因为一个标签 – Ben

回答

33
<a href="http://the.url.com/page.html"> 
    <span onclick="hide(); return false">Hide me</span> 
</a> 

这是最简单的解决方案。

+0

工程很好。不需要为a-tag设置样式 – Ondra

+0

如果'onclick'触发的函数是在'window.onload'内部定义的,任何想法都不行? –

+0

可爱的解决方案,即使不需要'event.stopPropagation();' – AmerllicA

0

你的代码很好,它应该执行onClick函数。

也许hide()函数不正确,不执行。

您是否在萤火虫中发生任何错误?

+0

它将它隐藏起来,但随后它改变了页面 – Ben

0

我会用jQuery来得到你要找的结果。你不必在这一点上使用锚标记,但如果你没有它会是什么样子:

<a href="page" style="text-decoration:none;display:block;"> 

<span onclick="hide()">Hide me</span> 

</a> 

<script type='text/javascript' src='http://code.jquery.com/jquery-1.7.2.min.js'/
<script type='text/javascript'> 
$(document).ready(function(){ 
    $('span').click(function(){ 
      $(this).hide(); 
    } 
} 
10

当你点击hide me,既一个跨度点击的触发。由于页被重定向到另一个,你看不到的hide()

的工作,就可以看到本作更多的澄清

http://jsfiddle.net/jzn82/

+0

是的,这是问题 – Ben

0

使用onmouseup

尝试这样的事情

 <html> 
     <head> 
     <script type="text/javascript"> 
     function hide(){ 
     document.getElementById('span_hide').style.display="none"; 
     } 
     </script> 
     </head> 

     <body> 
     <a href="page" style="text-decoration:none;display:block;"> 
     <span onmouseup="hide()" id="span_hide">Hide me</span> 
     </a> 
     </body> 
     </html> 

编辑:

  <html> 
     <head> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
     $("a").click(function() { 
     $(this).fadeTo("fast", .5).removeAttr("href"); 
     }); 
     }); 
     function hide(){ 
     document.getElementById('span_hide').style.display="none"; 
     } 
     </script> 
     </head> 

     <body> 
     <a href="page.html" style="text-decoration:none;display:block;" onclick="return false" > 
     <span onmouseup="hide()" id="span_hide">Hide me</span> 
     </a> 
     </body> 
     </html> 
+0

我必须是onclick,因为span标记用于删除消息 – Ben

+0

你不想要其他操作,仅用于删除消息 – srini

+0

是的仅用于删除,并且将隐藏空白消息从页面 – Ben

2

找到答案。

我已经使用一些样式来实现这一点。

<span 
    class="pseudolink" 
    onclick="location='https://jsfiddle.net/'"> 
Go TO URL 
</span> 

.pseudolink { 
    color:blue; 
    text-decoration:underline; 
    cursor:pointer; 
    } 

https://jsfiddle.net/mafais/bys46d5w/