1

TypeError:$( "")。html( "このダイアログは毎回表示されます!")。dialogは関数ではありません

これは私が得ているエラーです。ページは、インデックスページのdivでload()を使用してロードされます。インデックスページ(そのままにしておきたい)、ロードされたページ、およびその両方に必要なjqueryのものを含めましたが、それでもこれは実行されます。何が起きているのか正確にはわかりません。ページ自体だけでなく、load()ページを操作する方が難しいことはわかっていますが、home.phpページに移動しても、それは表示されます。以下はロードページへのリンクです。インデックスを確認したい場合は、アドレスのhome.phpを取り出してください。

読み込まれているページ

これは私が使用している関数です:

<script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.ui.core.js"></script>
    <script type="text/javascript" src="js/jquery.ui.draggable.js"></script>
    <script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
    <script type="text/javascript" src="js/jquery.ui.position.js"></script>
    <script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
    <script type="text/javascript" src="js/jquery.ui.widget.js"></script>

    <script type="text/javascript">
    function readMore(id,title,cat,desc,post,auth) {
        //alert(id +","+ title +","+ cat +","+ desc +","+ post +","+ auth);
        var $dialog = $('<div></div>').html('This dialog will show every time!').dialog({autoOpen: false,title: 'Basic Dialog'});
        $dialog.dialog('open');
        $dialog.title = title;
        $dialog.html(desc);
    }
    </script>

現在のところ、ダイアログのすべてのインクルードはインデックスページではなくロードページにありますが、私が言ったように、どちらか一方または両方を試しましたが、役に立ちませんでした。また、アラートは正常に機能し、すべてを正しく渡し、必要なときに呼び出されます。jqueryインクルードへのすべてのパスは正しいです。

そして、それが何らかの理由でそれを絞り込むのに役立つ場合は、ページの読み込み時にエラーが発生します:TypeError:$.widgetは関数ではありません[このエラーで中断]

_uiHash: function(event) {

jquery ... able.js(504行目)

TypeError:$.widgetは関数ではありません[BreakOn This Error]

_mouseCapture: function(event) { return true; }

jquery ... ouse.js(162行目)

TypeError:$.widgetは関数ではありません[BreakOn This Error]

ui: function() {
4

2 に答える 2

3

以下も必要です。

  • jquery.ui.button.js
  • jquery.ui.dialog.js

Musa が上でコメントしたように、ドラッグ可能な前にマウスを配置することも重要です。

まとめ:

  1. jquery.ui.core.js
  2. jquery.ui.widget.js
  3. jquery.ui.mouse.js
  4. jquery.ui.position.js
  5. jquery.ui.draggable.js
  6. jquery.ui.resizable.js
  7. jquery.ui.button.js
  8. jquery.ui.dialog.js

ただし、すべての単一ファイルをロードする代わりに、CDN から完全な UI をロードすることをお勧めします。

 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
于 2012-07-30T00:45:39.407 に答える
2

jquery.ui.mousejquery.ui.draggableそして彼らが呼び出すのでjquery.ui.resizable後に来る必要があります、またウィジェットは位置を使用するので、好きな前に置きます。jquery.ui.widget.widget()

<script type="text/javascript" src="js/jquery.ui.position.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="js/jquery.ui.resizable.js"></script>
于 2012-07-30T00:13:36.883 に答える