Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   back button закрывающий модальное окно (https://javascript.ru/forum/mobile/55623-back-button-zakryvayushhijj-modalnoe-okno.html)

p9gehka 07.05.2015 11:59

back button закрывающий модальное окно
 
Всем привет.) Такой вопрос можно ли на планшете(android) поймать кнопку back. Точнее есть модальное окно с формой и при нажатии на кнопку back свойсво display менять с block на none. Иначе не очень симпатично получается. Нагуглил что phonegap умеет такое, но я совсем не знаю этот фрэймворк. и стоит ради одного события подключать phonegap?

p9gehka 18.05.2015 22:47

В общем сделал через location.hash, иных способов пока не нашел
Кусочек кода.
var blackCatRequest = {
  wrap: document.getElementById("wrap-request"),
  button: document.getElementById("button-send-request"),
  show: function (event) {
    event.preventDefault();
    blackCatFunc.showBlockElement(blackCatRequest.wrap);
    window.location.hash = 'request';
  },
  hide: function (event) {
    event.preventDefault();
    event = blackCatDOM.fixEvent(event);
    if (event.target === event.currentTarget) {blackCatFunc.hideElement(blackCatRequest.wrap); }
  },
};

var blackCatInit = {
  mobileInit: function () {
    console.log("touch");
    blackCatRequest.button.addEventListener("touchstart", blackCatRequest.show);
    blackCatRequest.wrap.addEventListener("touchstart", blackCatRequest.hide);
  },
  desktopInit: function () {
    console.log("click");
    blackCatRequest.button.addEventListener("click", blackCatRequest.show);
    blackCatRequest.wrap.addEventListener("click", blackCatRequest.hide);
    document.addEventListener("mousemove", blackCatWWW.moveBg);
  },
  init: function () {
    if (blackCatFunc.isMobile.any() === null) {
      this.desktopInit();
    } else {this.mobileInit(); }
    window.onhashchange = function () {
      if (location.hash !== "#request") {blackCatFunc.hideElement(blackCatRequest.wrap); }
      if (location.hash === "#request") {blackCatFunc.showBlockElement(blackCatRequest.wrap); }
    };
  }
};

blackCatInit.init();


Часовой пояс GMT +3, время: 01:58.