2012年4月23日月曜日

jqmobi scrollerスクロールを一時的にできなくする。

jqmobi用のcolor pickerをつくっているときにでてきた問題。
colorを選択するときに、スライドさせると、scrollがきいているパネルだと、スクロールしてしまう・・・

こんなときの対処法がboolScrollLockです。

やり方。
自分でscrollerをつけた場合。
$("#(対象ID)").scroller();で再度scrollerオブジェクトが取得できるので
$("#(対象ID)").scroller().boolScrollLock = true;で抑制できます。
再度スクロールさせたい場合は
$("#(対象ID)").scroller().boolScrollLock = false;で解除できます。

jq.uiで自動的に追加されたパネルの場合
$.ui.scrollingDiv["パネルのID"].boolScrollLock = true / false;で制御できます。
ポイントはパネルIDの前に#をいれないこと。

あと、自分でscrollerをつけた場合、初期化時の応答でscrollerオブジェクトが返されるのでそれを保持しておくのもありです。

なお、$("#a > div")みたいな感じで子要素にscrollerをつけてしまい、かつ子要素がid未指定の場合は、取得できなくなってしまうので、初期化時の応答scrollerを保持しておかないと動作がおかしくなりますので、ご注意を・・・

0 件のコメント:

コメントを投稿