2012-03-27 8 views
1

Ich habe eine jQuery Mobile + Backbone-Website. Um mit Rückgrat schön zu spielen, ich habe auch deaktiviert Routing wie folgt:Wie macht man jQuery Mobile manipuliert nicht den Hash bei der Anzeige eines Dialogs

$(document).bind("mobileinit", function() { 
$.mobile.ajaxEnabled = false; 
$.mobile.linkBindingEnabled = false; 
$.mobile.hashListeningEnabled = false; 
$.mobile.pushStateEnabled = false;  }); 

Ich mag würde einen Dialog über js in meiner JQM + Rückgrat Website anzuzeigen:

$.mobile.changePage("#dialog", 
     { 
      transition: 'pop', 
      role: 'dialog', 
      changeHash:false 
     }); 

Das Problem ist, Dies löst ein Hash-Änderungsereignis aus. Mein Seitenrouter hebt dies auf und leitet zu einer falschen Seite weg, weg von dem Dialog.

Warum ignoriert eine einfache changePage mit einem Dialog den Parameter changeHash? Ist noch jemand dazu gekommen?

+0

Haben Sie eine Antwort darauf gefunden? –

Antwort

0

Ich weiß, es ist ein ziemlich alten Thread - aber das Problem ist folgendes:

Von: $.mobile.hashListeningEnabled = false; Sie die JQM Zuordnunsmöglichkeit sind zu deaktivieren und so ist JQM nicht auf Hash-Änderungen zu hören, aber die Backbone-Router der Fall ist. Was Sie tun müssen, ist ein Ereignis in der entsprechenden Backbone-Ansicht zu definieren, wo der Dialog geöffnet werden soll - etwa so:

Verwandte Themen