нажатие <img>предотвращает активацию <a> - PullRequest
1 голос
/ 16 августа 2010

Я пытаюсь реализовать букмарклет, где пользователь щелкнет один <img/> и будет перенаправлен на другую страницу, где он будет комментировать изображение.

, если изображение вставлено в привязку HTML:

<a href="http://anywhere.org"><img src=""http://anywhere.org/image.png"/></a>, 

Могу ли я предотвратить активацию якоря?Я пытался

event.stopPropagation();

и / или

event.preventDefault();

, но это не сработало

спасибо.

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Сначала вы можете проверить, можно ли отменить событие или нет, используя:

var bool = event.cancelable;

И вы всегда можете попробовать классический

return false:

Это в значительной степени остановит это.

1 голос
/ 16 августа 2010

Вы должны использовать event.cancelBubble и возвращать false (для IE).

Но ваш метод отлично работает в FF.

  var stop = function(evt)   {
     evt = evt || window.event;


     if(typeof(evt.stopPropagation) === "function") {
        evt.stopPropagation();
     }

     if(typeof(evt.preventDefault) === "function")   {
        evt.preventDefault();
     }

     // this is for IE6
     evt.cancelBubble = true;         
     return false;
  };
...