なにがしたい?
スマホサイトで drawer.js を使っていたけど、いつの間にかスクロールができなくなっていた。
ドロアメニューが動かず、その下の、通常画面がスクロールする。
ググったけど解決策がパッと出てこなかったので穴埋め係します!
drawer
http://git.blivesta.com/drawer/
iScroll
https://github.com/cubiq/iscroll
何が悪い?
なんかしでかしたかなーと思っていたら、公式サイトのデモでも同じ症状だった。drawerというよりも、それが使っている iScroll が悪いみたい。もっというと、たぶんブラウザの仕様変更なのかも。
どうする?
解決策はこちらに
https://stackoverflow.com/questions/39607777/iscroll-not-working-if-touch-events-are-enabled
水平スクロールで問題があった、とのことですが、縦スクロールにも同じように適用できます。
あとこれ
https://stackoverflow.com/questions/22269702/cant-click-on-links-with-iscroll-5
drawerに適用する場合は、こう。
$(document).ready(function() {
$('.drawer').drawer({
iscroll: {
scrollX: false,
scrollY: true,
click:true, // これと
mouseWheel: true,
disablePointer: true, // これがポイント(っぽい)
disableTouch: false,
disableMouse: false
},
});
});
もうぼちぼち、jQueryなんて使ってんじゃねぇよ、と言われそう……。
次はVueとか使うんで、もうしばらく延命させてください!!