Атрибут ошибки IE, связанный с Jquery - PullRequest
1 голос
/ 31 марта 2011

Хорошо, я новичок в Jquery, и у меня есть этот простой скрипт для «предварительного просмотра» изображения в div при нажатии 2 ссылки

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>

<script type='text/javascript'>

$(function(){
    $('a.classname').click(function(){ 

        var new_image_src = $(this).attr('href');
        var $new_image = $("<img>", {
            src:    new_image_src,
            width:  400,
            height: 300,
            load:   function() {
                $('#preview').animate({'opacity': 1}, 'fast');
            }
        });

        $('#preview').animate({'opacity': 0}, 'fast', function(){
            $('#preview').empty().append($new_image);
        });
        return false;
    });
});
</script>

.....

<a class="classname" href="images/pic1.png">link 1</a>
<a class="classname" href="images/pic2.png">link 2</a>

Отлично работает в Firefox и Opera. IE, однако, открывает новое окно при нажатии на путь к изображению (www.mysite.com/images/pic1.png).

Я знаю, что это поведение IE, а не ошибка jquery. Но есть ли простой обходной путь для всех браузеров?

Ответы [ 2 ]

1 голос
/ 31 марта 2011

попробуйте это:

1- Замените эту строку:

$('a.classname').click(function(){

на эту:

$('a.classname').click(function(event){

2- Замените эту строку:

return false;

на эту:

event.preventDefault();

и дайте мне знать, если это работает, и я скажу вам, чтоздесь происходит:)

0 голосов
/ 31 марта 2011

протестируйте, пожалуйста

$(function () {
     $("a.classname").click(function(event) 
     { 
      event.preventDefault();
      var new_image_src = $(this).attr('href');
        var $new_image = $("<img>", {
            src:    new_image_src,
            width:  400,
            height: 300,
            load:   function() {
                $('#preview').animate({'opacity': 1}, 'fast');
            }
        });

        $('#preview').animate({'opacity': 0}, 'fast', function(){
            $('#preview').empty().append($new_image);
        });
     });
   };

event.preventDefault () -> Описание: если вызывается этот метод, действие по умолчанию для события не будет запущено.

протестируйте здесь

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