порядок onclick событий

Я хочу добавить событие щелчка jQuery к href's, которые уже имеют onclick событие. В примере ниже твердого кодированного onclick события будет инициирован сначала. Как я могу инвертировать это?

<a class="whatever clickyGoal1" href="#" onclick="alert('trial game');">play trial</a>
<br />
<a class="whatever clickyGoal2" href="#" onclick="alert('real game');">real trial</a>
<p class="goal1">
</p>
<p class="goal2">
</p>

<script type="text/javascript">
    $("a.clickyGoal1").click(function() {
        $("p.goal1").append("trial button click goal is fired");//example
    });
    $("a.clickyGoal2").click(function() {
        $("p.goal2").append("real button click goal is fired"); //example
    });        
</script>
6
задан NicoF 6 May 2010 в 12:54
поделиться

1 ответ

Вам нужно получить оригинальный обработчик события, заменить его своим, а затем вызвать оригинальный обработчик, однако я не уверен, что это возможно с jQuery. Вот пример, использующий jQuery только для доступа к элементу, а затем "обычный" JavaScript для установки обработчика:

// Wrapper in order not to add unnecceary variables to the global namespace
(function (){
  var link = $("a.clickyGoal1")[0];
  var oldOnClick = link.onclick;
  link.onclick = function(e) {
    $("p.goal1").append("trial button click goal is fired");
    oldOnClick(e);
  }
})();
6
ответ дан 17 December 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: