[解決済み] jQuery draggableはページがスクロールした後、ヘルパーを間違った場所に表示します。
質問
jQueryを使っています。 ドラッガブル と ドロッパブル を使用しています。ユーザーは仕事を別の日またはユーザーにドラッグし、データは ajax 呼び出しを使用して更新されます。
メインページをスクロールダウンするときを除いて、すべてが正常に動作します (仕事は、ブラウザ ウィンドウの下部を超える大きな週間プランナー上に表示されます)。ここでドラッグ可能な要素をドラッグしようとすると、要素は、私がスクロールダウンしたのと同じ量のピクセルで、私のマウス カーソルの上に表示されます。ホバー状態はまだ問題なく動作し、機能性もバッチリですが、見た目が正しくありません。
jQuery 1.6.0とjQuery UI 1.8.12を使用しています。
オフセット機能を追加する必要があると思うのですが、どこに適用すればいいのか、もっといい方法はないでしょうか。以下は、私の
.draggable()
の初期化コードです。
$('.job').draggable({
zIndex: 20,
revert: 'invalid',
helper: 'original',
distance: 30,
refreshPositions: true,
});
これを修正するために何ができるのか、何か心当たりはありますか?
どのように解決するのですか?
これは関連するバグレポートかもしれません、かなり長い間存在しています。 http://bugs.jqueryui.com/ticket/3740
私がテストしたすべてのブラウザ (Chrome、FF4、IE9) で発生するようです。この問題を回避する方法がいくつかあります。
1.
使用方法
position:absolute;
をcssに記述してください。絶対位置指定された要素は影響を受けないようです。
2.
親要素(bodyの場合はイベント)には必ず
overflow:auto;
が設定されていることを確認します。私のテストでは、この解決策は位置を修正しますが、自動スクロール機能を無効にすることが示されました。マウス ホイールまたは矢印キーを使用して、まだスクロールできます。
3.
上記のバグレポートで提案された修正を手動で適用し、他の問題が発生するかどうか十分にテストしてください。
4. 正式な修正を待つ。過去に何度か延期されたことがありますが、jQuery UI 1.9に予定されています。
5. すべてのブラウザで起こるという確信があるなら、影響を受けるドラッガブルのイベントにこれらのハックを入れて、計算を修正することができます。しかし、テストするには多くの異なるブラウザーが必要なので、最後の手段としてのみ使用すべきです。
$('.drag').draggable({
scroll:true,
start: function(){
$(this).data("startingScrollTop",$(this).parent().scrollTop());
},
drag: function(event,ui){
var st = parseInt($(this).data("startingScrollTop"));
ui.position.top -= $(this).parent().scrollTop() - st;
}
});
関連
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQuery Ajax呼び出し後のリダイレクトリクエストを管理する方法
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] Google Maps APIでマウスのスクロールホイールによる拡大縮小を無効にする方法
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み] jQueryを使用して要素の型を検索する
-
[解決済み] Electron: jQueryが定義されていない
-
[解決済み】jQueryで入力不可属性をトグルする。
-
[解決済み] jQueryでinput[type=text]の値変化を検出する
-
[解決済み] jQuery UI の 'draggable()' div をタッチスクリーン用にドラッグ可能にするにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryでチェックボックスの値を取得する
-
[解決済み] クリックボタンでクリップボードにコピー
-
[解決済み] jQueryの複数要素の同一クリックイベント
-
[解決済み] CSSを使用してSVG画像の色を変更する方法(jQuery SVG image replacement)とは?
-
[解決済み] GoogleのCDNからjQuery UI CSSをダウンロードする
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み] val()を使ってselectの値を設定しても、jqueryのchangeイベントが発生しないのはなぜですか?
-
[解決済み】jQueryで入力不可属性をトグルする。
-
[解決済み】jQuery:keyPress Backspaceが発射されない?
-
[解決済み] jQueryを使用して文字列から最後の文字を削除する方法は?