2012-03-05 11 views
0

私はJqueryダイアログで遊んでみようとしています。ボタンをクリックすると、ダイアログが表示されます。このコードは、Jqueryのドキュメントからまっすぐにコピーされたものです(もちろん、ブログ記事へのリンクを介して)。jqueryダイアログ読み込み問題

<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> 
<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.js"></script> 
<script language="javascript" type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script> 
<script type="text/javascript"> 

var js = jQuery.noConflict(); 

js(document).ready(function() { 
var $dialog = js('<div></div>') 
    .html('This dialog will show every time!') 
    .dialog({ 
     autoOpen: false, 
     title: 'Basic Dialog' 
    }); 

js('#axis-details').click(function() { 
    $dialog.dialog('open'); 
    // prevent the default action, e.g., following a link 
    return false; 
}); 
}); 
</script> 

単純なHTMLボタン:

<button id="axis-details" >API Key</button> 

私はこのエラーを取得する:私はここのコードが間違って何もしなかったことを確認したいjs("<div></div>").html("This dialog will show every time!").dialog is not a function

まず。通常、これはjquery-uiを適切にロードしていないことを意味しますが、ファイヤーバグが正常にロードされていることがわかります。私はまた、他のパッケージと衝突しないようにします。したがって、noConflict()です。

私が間違っていると思われるヒントは感謝します。

+1

特に、jQuery UIで.noConflict()を使用するといくつかのバグがあるようです。 apiページの下部にあるnoConflictのコメントを確認してください。http://api.jquery.com/jQuery.noConflict/ –

+2

jQueryUIの一部であるjQueryUIを消去する別のページのjQueryを再度読み込んでいるような音がします。 jQueryオブジェクト – charlietfl

+2

はい、あなたのコードは分離されたときに正常に動作します。http://jsfiddle.net/JvuY7/ –

答えて

1

@Travis Jはこの権利を持っていました。 .noConflict()やjQuery UIと何らかの矛盾があるようです。どのように皮肉;)

これを削除するには、noConflict()を削除します。

2

copied to JSFiddle

、それが正常に動作します。あなたの問題はこのコードの外にある必要があります

関連する問題