JQuery предотвратить по умолчанию не работает - PullRequest
1 голос
/ 05 августа 2009

Я хочу изменить изображение, когда пользователь нажимает на изображение большого пальца, и не допустить его перехода в начало страницы.

первый код, который я написал:

$('#photos-list img').click(function(e) {
    e.preventDefault();

    var imgObj = new Image();
    var targetObj = $('#main_image img');
    imgObj.onload = function() {
        targetObj.attr('src',this.src);

    }
    imgObj.src = $(this).attr('rel');
});

protectDefault () работает нормально. Хорошо, я хочу добавить некоторые эффекты к изменению изображения, такие как постепенное увеличение, я добавляю некоторые эффекты jquery в

$('#photos-list img').click(function(e) {
    e.preventDefault();

    var imgObj = new Image();
    var targetObj = $('#main_image img');
    imgObj.onload = function() {
        targetObj.hide();
        targetObj.attr('src',this.src);
        targetObj.fadeIn('normal');

    }
    imgObj.src = $(this).attr('rel');
});

и на этот раз не работает предотвращение защиты по умолчанию, даже я дал fadeIn () предотвращение по умолчанию, например:

targetObj.fadeIn('normal', function(e1){e1.preventDefault();});

есть ли способы решить эту проблему?

Ответы [ 5 ]

4 голосов
/ 05 августа 2009

попытаться завершить функцию с

return false;
2 голосов
/ 05 августа 2009

Должно быть, вы получаете ошибку, чтобы не допустить неполадки в работе элементаDectault (хотя на первый взгляд js выглядит нормально). У тебя есть клоп? Это точный источник?

0 голосов
/ 17 мая 2011

Это работа:

if(event.preventDefault){
    event.preventDefault();
}else{
    event.returnValue = false; 
};
0 голосов
/ 29 июля 2010

Обратный вызов функции jQuery fadeIn не получил параметр события.

Я полагаю, у вас есть следующая структура:

<div id="#photos-list>
  <a href="#"><img src="..." /></a>
</div>

Так попробуйте это:

$('#photos-list a').click(function(e) {
    e.preventDefault();
});
0 голосов
/ 29 июля 2010

Вам необходимо включить т.е. поддержку.

Попробуйте следующее:

$('#photos-list img').click(function(event) {
var ev = event || window.event;
ev.preventDefault();
// ... the rest of your code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...