span с событием onclick внутри тега

17

Пример кода

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

Поскольку тег a находится над пролетом, его невозможно щелкнуть. Я пытаюсь z-index , но это не работает

    
задан Ben 02.05.2012 в 13:32
источник

7 ответов

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

Это самое простое решение.

    
ответ дан Mark Nijboer 14.09.2013 в 20:40
источник
10

Когда вы нажимаете hide me , запускаются как a , так и span . Поскольку страница перенаправляется на другую, вы не видите работу hide()

Вы можете увидеть это для уточнения

Ссылка

    
ответ дан Nauphal 02.05.2012 в 13:43
источник
2

Fnd ответ.

Я использую некоторые стили inorder для достижения этого.

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

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

Ссылка

    
ответ дан MAFAIZ 31.03.2016 в 18:41
источник
0

Ваш код в порядке, он должен выполнить функцию onClick.

Возможно, функция hide () неверна и не выполняется.

Вы получаете какие-либо ошибки в firebug?

    
ответ дан Vassilis Barzokas 02.05.2012 в 13:41
источник
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();
     }
}
    
ответ дан Jordan 02.05.2012 в 13:43
источник
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>

EDIT:

          <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>
    
ответ дан srini 02.05.2012 в 13:45
источник
-2

Вы можете использовать jQuery

Ссылка

    
ответ дан user1135357 02.05.2012 в 13:44
источник