###前提・実現したいこと
Monacaでアプリケーションの開発をしているのですが、OnsenUIの<ons-page>の中にjQueryのソースを記述したところ、動作しませんでした。index.htmlにjsを外部ファイルから読み込みを行ってみたところ、ほかのjsの動作はしているのに、jQueryの動作だけ実行されませんでした。
jQueryとOnsenUIの併用が厳しいのか、jQueryの扱いが誤っているのかが分からないので、アドバイスを頂けると嬉しいです。
###該当のソースコード
ソースを記載しますが、違いは<script>タグを用いているか、jsを外部ファイルから読み込んでいるかの違いです。
//動作したソース <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> <script src="components/loader.js"></script> <script src="lib/onsenui/js/onsenui.min.js"></script> <!-- OnsenUI --> <link rel="stylesheet" href="components/loader.css"> <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> <link rel="stylesheet" href="css/style.css"> <!-- clockpicker(jQuery) --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <link rel="stylesheet" href="css/bootstrap-clockpicker.min.css"> <script src="js/bootstrap-clockpicker.min.js"></script> </head> <body> <!-- clockpicker nomal --> <div class="input-group clockpicker" data-autoclose="true" id="style"> <input class="form-control" id="single-input" value="" placeholder="Now"> <span class="input-group-addon"> <span class="glyphicon glyphicon-time"></span> </span> </div> <!-- scriptたぐを使用した記述方法 --> <script> $('.clockpicker').clockpicker(); </script> </body> </html>
//動作しなかったソース <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> <script src="components/loader.js"></script> <!-- ↓にsprictタグの中身を記述 --> <script src="js/app.js"></script> <script src="lib/onsenui/js/onsenui.min.js"></script> <!-- OnsenUI --> <link rel="stylesheet" href="components/loader.css"> <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> <link rel="stylesheet" href="css/style.css"> <!-- clockpicker(jQuery) --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <link rel="stylesheet" href="css/bootstrap-clockpicker.min.css"> <script src="js/bootstrap-clockpicker.min.js"></script> </head> <body> <!-- clockpicker nomal --> <div class="input-group clockpicker" data-autoclose="true" id="style"> <input class="form-control" id="single-input" value="" placeholder="Now"> <span class="input-group-addon"> <span class="glyphicon glyphicon-time"></span> </span> </div> </body> </html>
###試したこと
<ons-page>の中に<sprict>タグでの記述をすると動作しないということだったので、index.htmlでjavascriptを別のファイルから読み込むようにしました。
OnsenUIを実装していない最小限のテンプレートで確認したところ動作しました。
<追記>
OnsenUI V2 JS Minimumに記述したら動作しなかったので、<ons-page>に関係なくOnsenUIに問題があるかもしれません
###補足情報(言語/FW/ツール等のバージョンなど)
OnsenUI V2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/08 03:44