Остановить поведение ссылки в PrototypeJS, если передано условие, ссылка должна работать как обычно - PullRequest
0 голосов
/ 27 января 2012

Я использую функцию e.stop () PrototypeJS в обозревателе кликов, который я проверяю, и если выполняются некоторые условия, я хочу, чтобы ссылка работала как обычно, но не позволяла всем остальным элементам срабатывать.

Например:

<script type="text/javascript"> 
document.observe('dom:loaded',function(){
   if ($$('a') != undefined) {
      $$('a').invoke('observe','click', function(e) {    
         if (SOME CONDITION){
            //NORMAL LINK FUNCTIONALITY
            //STOP PARENT
    } else {
            e.stop();
            //CALL FUNCTION
         }
      });
   }
   if ($$('.parent') != undefined) {
      $$('.parent').invoke('observe','click', function(e) {    
         alert('test');
      });
   }
});
</script> 
<div class="parent">
   <a href="javascript:popUp('test.html')">Test 1</a>
   <a href="test.html">Test 2</a>
   <a href="test.html" target="_blank">Test 3</a>
</div>

То, что происходит, - родительский огонь при нажатии любой ссылки. E.stop () останавливает это, но также останавливает нормальное поведение ссылки. Есть ли способ указать ссылку на процесс, как обычно, но остановить все остальные?

1 Ответ

1 голос
/ 27 января 2012

Когда вы ловите события, вы обычно просто должны возвращать true; иметь нормальное поведение.

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