私の問題は、リンクでハッシュタグを使用すると、ルートに移動するのではなく、ハッシュを URL に添付するだけであるということです。たとえば/ToDo/public/offline2.html#test
。を離れると、tag = ""
何らかの理由でルーターに移動します。
次のコードでjqueryモバイルルーターをオフにしました
<script type="text/javascript">
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
$.mobile.changePage.defaults.changeHash = false;
});
</script>
<script src="../js/jquery.mobile.js"></script>
<script src="../js/jquery.js"></script>
私のhtmlコードは非常に基本的です
<p>go to <a href="#test" id="#test">test page</a></p>
したがって、たとえばファイルtest.jsにjavascriptコードを含む別のjsファイルがあります。これがメインコードです
$(app.init)
app.init = function() {
console.log('start init')
router = new TestRouter();
console.log('end init')
}
var TestRouter = Backbone.Router.extend({
routes:{
"":"home",
"test":"test"
},
initialize: function(){ var self = this
_.bindAll(self) },
home: function(){
alert(name);
// $.mobile.changePage($('#home-page'), {changeHash:false});
},
test: function (name) {
alert(name);
// $.mobile.changePage($('#test-page'), {changeHash:false});
}
})
私が言ったように、コードは家庭用に機能します。このようにタグを設定すると
<a href="" data-icon="home">Home</a>