BeginModal initiate без .click()

Я использую leanModal http://leanmodal.finelysliced.com.au, чтобы инициировать его, чтобы открыть div, но без метода .click(). В основном я пытаюсь это сделать.

  if(cartItems === 0){
    $("#cartEmpty").leanModal(); // #cartEmpty is my div with the message that needs to be initiated.
  } else {
    $("#nextStep").leanModal(); // #nextStep is my div is the form 
  }

Любые идеи по этому поводу?

Ответ 1

Я попробовал через исходный код для leanmodal, похоже, что вы не можете. Вам все равно придется иметь ссылку, чтобы вызвать ее. Но вы должны иметь возможность сделать что-то вроде следующего непроверенного кода верхней части моей головы

Добавьте пару невидимых ссылок. Встроенные стили - это Bad Thing, только делая это inline для упрощения

<a href="#cartEmpty" id="showCartEmpty" style="display:none" rel="leanModal" name="cartEmpty">empty cart</a>
<a href="#nextStep" id="showNextStep" style="display:none" rel="leanModal" name="nextStep">next step</a>

Сделайте обычную настройку для leanmodal

$(function() {
    $('a[rel*=leanModal]').leanModal();     
});

Вызвать метод click на вашей фиктивной невидимой ссылке

  if(cartItems === 0){
    $("#showCartEmpty").click(); // in theory this'll cause the modal to be shown
  } else {
    $("#showNextStep").click(); // in theory this'll cause the modal to be shown
  }

В противном случае источник довольно мал, вы должны быть в состоянии разрешить его в свой собственный проект и изменить его, чтобы его можно было вызывать на предмет модальности, а не на то, чтобы запустить модальный