javascript void (0) проблема в IE - PullRequest
3 голосов
/ 08 мая 2009

HI,

Я занимаюсь разработкой веб-страницы с использованием asp.net.

Я использую некоторые ссылки на своей веб-странице. Для этого я использовал такой код:

<a href="javascript:void(0);" onclick="javascript:ChangeLoc('TEST','');">Test</a>

и в методе ChangeLoc() я написал __doPostBack событие.

Это прекрасно работает в IE7, установленном на моей машине. Но в IE6 на другом компьютере он не вызывает событие __doPostBack.

Редактировать

Когда я изменяю void (0) в href, он работает нормально.

Я хотел бы знать, является ли это ошибкой в ​​IE или проблемой JavaScript.

function ChangeLoc( param, arg )
{
     __doPostBack ( param, arg )
}

Ответы [ 4 ]

12 голосов
/ 08 мая 2009

href и onclick оба запускаются при нажатии на элемент, вы перезаписываете событие onclick с помощью void ()

изменить на

<a href="#" onclick="ChangeLoc();return false">test</a>

или с помощью jQuery.

$(function(){
  $("#linkId").click(function(event){
      ChangeLoc();
      event.preventDefault();
  });
}); 
3 голосов
/ 08 мая 2009

Вы получаете ошибку? Если да, то какую ошибку вы получаете в IE6? Можете ли вы опубликовать код для ChangeLoc ()? Кроме того, попробуйте изменить разметку следующим образом и посмотрите, получите ли вы тот же результат:

<a href="#" onclick="ChangeLoc(); return false;">Test</a>

Редактировать: убрал «javascript:» из клика

1 голос
/ 08 мая 2009

Вы также можете использовать ненавязчивый синтаксис JavaScript:

<a href="index.html" id="chngLink">test</a>

<script type="text/javascript">
document.getElementById("chngLink").onclick = function(e) {
    if (e && e.preventDefault) {
        e.preventDefault();
    }
    ChangeLoc('TEST','');
    return false;
};
</script>
0 голосов
/ 08 мая 2009

нехорошо использовать <a> -элемент для вызова функций javascript. Используйте стиль <span onclick="my_function()" class="looks_like_hyperlink">...</span>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...