Я не могу вызвать функцию внутри кнопки <a href=""> - PullRequest
0 голосов
/ 06 февраля 2019

Я работаю в режиме редактирования (contenteditable = true), мне нужно вызвать функцию внутри ссылки, но она не отвечает.

Можно сделать?Мне это нужно

Примечание: я отменил кнопки для вызова функции, но она тоже не работает:

Мой HTML:

<body>
  <a href="link.html"><i class="miniButton">Inside</i>LINK Think</a>
  <div id="message"></div>
  <i class="miniButton">out link button</i>
</body>

Mi Код:

$("body").on("click",'a', function() {
    return false;
});

$(document).on("click",'.miniButton', function() {
    $("#message").html("Good Job");
});

Mi jsFiddle:

https://jsfiddle.net/1go4ecdj/18/

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

return false на всех элементах привязки препятствовал достижению событием click элемента .miniButton внутри него.Если вам нужно запретить навигацию, вы можете использовать preventDefault() для события вместо того, чтобы вообще отменить его:

$("body").on("click",'a', function(e) {
    e.preventDefault()
});

$(document).on("click",'.miniButton', function() {
    $("#message").html("Good Job");
});
body{padding: 3em  ;}
a{
  color: White;
  background: SteelBlue;
  padding: 1em;
  border-radius: 4px;
  text-decoration: none;
}
i{
  color: White;
  background: Black;
  padding: 6px;
  margin-right: 10px;
}
#message{
  margin-top: 2em;
  margin-bottom: 2em;
  background: #FFEEAA;
  padding: 1em;
  width: 160px;
  height: 60px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="link.html"><i class="miniButton">Inside</i>LINK Think</a>
  <div id="message"></div>
  <i class="miniButton">out link button</i>
0 голосов
/ 06 февраля 2019

Вместо возврата false вы должны попробовать это.

$("a").on("click", function(event) { 
    event.preventDefault();
});
...