質問失礼します。
タイトルの通り
jQuery Mobileのdata-role="slider"機能のみ使いたく(使いたい機能の詳細については最後に書きます)jQuery Mobileを既に運用中のWebサイトに導入したのですが、jQuery MobileがHTML要素を改変を行うため、他の要素に弊害が出てしまい困っております。
そもそもjQuery Mobileの一部機能だけを使うという方法は可能なのでしょうか?
それが出来ない場合は、出来るだけ干渉系機能を制御する事だと思うのですが、
その場合は、対策方法について下記内容を相談させて下さい。
jQuery Mobileによって改変を行われ困っている具体的な部分としましては
01.HTMLの改変が行われる(恐らく解決済み)
02.ページ内のリンクが出来ない(解決中)
03.その他、干渉されている恐れがある
となります。
01と02につきましては、下記のような対応を行っております。
lang
1$(function(){ 2 $(document).bind('mobileinit', function() { 3 // #id内の*のみHTMLの改変を許可する 4 $.mobile.page.prototype.options.keepNative = "*:not(#id *)"; 5 // 以下、Aタグの動作を従来の方法に戻す(効果なし…?) 6 $.mobile.ajaxEnabled = false; 7 $.mobile.hashListeningEnabled = false; 8 $.mobile.pushStateEnabled = false; 9 $.mobile.ajaxFormsEnabled = false; 10 }); 11 // Aタグの動作を従来の方法に戻す 12 $("a").attr({"rel":"external","data-ajax":"false"}); 13});
こちらで動く事は動きましたが、懸念点があります。
Aタグの動作を従来に戻す記述に関しまして、下記の記述は全く効果がありません。何か原因があるのでしょうか?
lang
1// 以下、Aタグの動作を従来の方法に戻す(効果なし…?) 2$.mobile.ajaxEnabled = false; 3$.mobile.hashListeningEnabled = false; 4$.mobile.pushStateEnabled = false; 5$.mobile.ajaxFormsEnabled = false;
むしろ、これだけで有効となりますが、こちらはjQuery Mobile以外のajax通信に弊害は出ないでしょうか?
lang
1// Aタグの動作を従来の方法に戻す 2$("a").attr({"rel":"external","data-ajax":"false"});
また、03にもある通りjQuery Mobileが他に干渉する恐れがある事態は何かありますでしょうか?
根本的にjQuery Mobileの使い方が間違っているかと思いますが
何卒ご回答頂ければ幸いです。
ちなみに利用したい機能のサンプルURLは下記です。
http://demos.jquerymobile.com/1.0/docs/forms/switch/
フリックによるON・OFF機能が一番滑らかだったので導入しました。
何卒よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/01/12 01:47