Как вызвать другое событие jquery, используя возвращаемые данные ранее выполненного события jquery - PullRequest
0 голосов
/ 03 мая 2020

У меня есть кнопка, например

<a id="btn" class="button">Submit</a>

При нажатии этой кнопки запускается функция jquery

, например,

$("#btn").on("click", function() {
  $.ajax({
    url: 'index.php',
    type: 'post',
    data: {product_id: 1, qty: 2},
    dataType: 'json',
    success: function(json) {
       if (json['success']) {
          console.log('Product added to cart');
       }
       if (json['error']) {
          console.log('Product not added to cart');
       }
    });
});

Теперь я хотел бы знать, возможно ли вызвать другое событие jquery с помощью другого кода jquery после выполнения вышеуказанной функции, и я хочу использовать возвращаемые значения предыдущей функции, не внося никаких изменений в вышеупомянутая функция.

Например, я хотел бы запустить следующую функцию сразу после указанного выше события jquery, написав другой код jquery и не изменяя какую-либо часть предыдущего кода.

function anotherAction(json_array) {
    if (json_array['success']){
        //calling another function
    }
}

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

без внесения каких-либо изменений в вышеупомянутую функцию.

Нет. Это невозможно. submitBtn Возвращаемое значение функции не используется / нет ссылки / уничтожено в "#btn" событии щелчка. Так что вы никогда не узнаете, что вернули.

0 голосов
/ 03 мая 2020

Вы имеете в виду

function anotherAction() {
  if (submitBtn() == 'Submitted'){
    console.log('Button is submitted');
  }
}

Но тогда вам нужно сделать str глобальным по объему

Возможно, вот так

let str;
$("#btn").on("click", function() {
  str = 'Submitted';
});

$("#check").on("click", anotherAction);

function anotherAction() {
  console.log('Button has '+(str === 'Submitted' ? "" : "not ")+'been clicked');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="btn" type="button">Click</button>

<button id="check" type="button">Check</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...