私はこれを使用しています
$(window).bind('hashchange', gotohash);
アプリにディープリンクを追加します。
私の問題は、<a>
withをクリックしたときにもhref=#whatever
起動し、ユーザーがブラウザの戻るボタンと進むボタンを使用するか、ハッシュが含まれるURLに直接移動した場合にのみ使用したいということです。
私は考えhashChangeEnabled=true/false
ていて、クリックするたびにそれをオフにします
しかし、それがクリックによるものかどうかを検出する簡単な方法はありますか?
ベストプラクティスは何ですか?
私の解決策
var disableHashChange = false;
$(window).bind('hashchange', function(){
if(!disableHashChange ){
gotohash();
}
disableHashChange = false;
});
$('.link').click(function(){
disableHashChange = true;
}
imskyによる回答
var lastLinkEvent;
$(window).bind('hashchange', function(){
if(lastLinkEvent != window.location.hash){
gotohash();
lastLinkEvent = "";
}
});
$('.link').click(function(){
lastLinkEvent = $(this).attr('href');;
}
ありがとう