2011-06-22 10 views
2

iscrollを使用して長いdivをipadでスクロールできるようにしています。しかし、iscrollはtouchイベントをジャックしているので、ユーザーはもはやdiv内のテキストを選択できなくなります。ipadでiscrollでテキストを選択することはできますか?

これに対応する方法がある場合は誰にも分かりますか?

理論上、iscrollはドラッグに反応する必要がありますが、実際にはこれは起こっていないようです。

他にもこの問題がありますか?

答えて

1

iScrollを実装すると、サンプルファイルのbodyルールには、通常、CSSタグが -webkit-user-select:none;になります。このルールは、ドラッグすることを決定する前にタッチしたままにしておけば、テキストを選択しないようにします。その行を削除して(コメントアウトして)、テキスト選択機能を元に戻します。しかし、このようにして、ユーザがiScroll対応エリアとやりとりしているときに、不自然なタイミングでテキストセレクタが表示される可能性があります。 乾杯

+0

私はこの** CSS **ラインをすべて削除しましたが、まだ動作しません。\t -ms-touch -action:none; \t -webkit-touch-callout:なし; \t -webkit-user-select:none; \t -moz-user-select:none; \t -ms-user-select:none; \tユーザー選択:なし; ' –

0

iscroll.jsにファイルの行を検索します。

129(for me): onBeforeScrollStart: function (e) { e.preventDefault(); }, 

は今、単にあなたがテキストの選択を可能にするブロックのクラス名を使用します。このように

onBeforeScrollStart: function (e) { if (!el.match("block")) e.preventDefault(); } 

エージェントはデフォルトの動作を妨げず、ユーザーがテキストを選択できるようになります。

+1

私のために働かないのですか? –

+1

e.preventDefault()を削除するだけで動作します。さらに、iscrollのソースコードを編集するのではなく、 'onBeforeScrollStart'オプションをiScrollイニシャライザに追加して空白の関数を与えてください。 – Calvin

1

はIScroll 5の場合は、マウスクリック、ドラッグスクロールを無効にするには、次のコードhttps://github.com/cubiq/iscroll/issues/439#issuecomment-53553645

を使用すると、まだマウスホイールのスクロールを使用このオプションを持っている:

mouseWheel: true, 
disableMouse: true 

P.S.これは、ストレスフル注入なしでIScroll内のテキストを強調表示できない問題に対する良い解決方法ですpreventDefaultExceptionsここのようにhttp://jsfiddle.net/UDF59/

関連する問題