Dialog

jQuery UIのダイアログを提供します。

タイトルバーとコンテツ領域を持ったダイアログです。 このダイアログは次のような機能を提供します。

  • マウスドラッグで移動
  • ダイアログのサイズを、マウスドラッグで変更
  • [☓]アイコンをクリックして、ダイアログを閉じる
  • コンテンツ量に応じて、自動的にスクロールバーを表示
  • 下部のボタンバーと、モーダル機能をオプションで設定可能

次のようにして、ダイアログを呼び出します。

<div id="dialog" title="ダイアログのタイトル">ダイアログの内容</div>
<script>
  $( "#dialog" ).dialog( "open" );
</script>

すぐにダイアログを表示したくない場合は、下記のようにautoOpen:falseを指定します。

<button id="opener">ダイアログを開く</button>
<div id="dialog" title="ダイアログのタイトル">ダイアログの内容</div>
<script>
//すぐにダイアログが開かないようにautoOpen:falseを指定
$( "#dialog" ).dialog({ autoOpen: false });
//ボタンがクリックされたらダイアログを開く
$( "#opener" ).click(function() {
    $( "#dialog" ).dialog( "open" );
});
</script>

ダイアログを閉じたい場合は、下記のように指定します。

$(foo).dialog('close');

依存関係

オプション 説明
autoOpen

型:Boolean
初期値:true

trueであれば、初期化時に自動的にダイアログが開きます。 falseを指定すると、.open()メソッドが呼ばれるまでダイアログは非表示になります。

appendTo1.10追加

型:Selector
初期値:"body"

ダイアログ(モーダル時のオーバーレイの要素も)を挿入する要素を指定します。

buttons

型:Object, Array
初期値:{}

ダイアログに表示されるボタンを指定します。 複数のボタンを指定可能で、ボタンが押下された際の処理をコールバック関数として設定可能です。 ボタンへのアクセスが必要な場合は、eventオブジェクトのtargetで利用することが出来ます。

$(".selector").dialog(
  {buttons:[
    {  //OKボタンの設定 --start--
      text: "Ok",
      click: function(){
        $( this ).dialog( "close" );
      }
    }  //OKボタンの設定 --end--
  ]}
);
closeOnEscape

型:Boolean
初期値:true

ダイアログフォーカス時にESCキーの押下でダイアログを閉じるか否かを決定します。

closeText

型:String
初期値:"close"

ダイアログを閉じるボタンのテキストを指定します。 デフォルトのテーマでは、閉じるボタンは表示サれてないことに注意してください。

dialogClass

型:String
初期値:""

ダイアログに指定した任意のclass名を追加します。

disabled

型:Boolean
初期値:false

ダイアログの無効(true)、有効(false)の初期設定を行います。

draggable

型:Boolean
初期値:true

trueに設定すると、タイトルバーをドラッグしてダイアログを移動することが可能になります。 有効にするためには、 Draggableウィジット を読み込んでおく必要があります。

height

型:Number or String
初期値:"auto"

ダイアログの高さを決定します。

Number
指定された数値で高さが決定されます。
String
"auto"の文字列のみが指定可能です。 "auto"が指定された場合、コンテンツ量に応じて高さを決定します。
hide

型:Number or String or Object
初期値:null

hideアニメーションをどのようにするかを設定します。

Number
指定した時間(ミリ秒)でフェードアウトアニメーションを行います。
String
hideアニメーションをjQuery UIのエフェクト名で指定します。
Object
effect, duration, easingのプロパティが提供されています。
effectはhideアニメーションをjQuery UIのエフェクト名(例:"blind")の文字列で指定します。
durationとeasingは省略可能で、省略された場合はデフォルト値が使用されます。
maxHeight

型:Number
初期値:false

ダイアログをリサイズ出来る高さの最大値(px)を指定します。

$( ".selector" ).dialog({ maxHeight: 600 });
maxWidth

型:Number
初期値:false

ダイアログをリサイズ出来る幅の最大値(px)を指定します。

$( ".selector" ).dialog({ maxWidth: 600 });
minHeight

型:Number
初期値:150

ダイアログをリサイズ出来る高さの最小値(px)を指定します。

minWidth

型:Number
初期値:150

ダイアログをリサイズ出来る幅の最小値(px)を指定します。

modal

型:Boolean
初期値:false

trueが設定されると、モーダルダイアログとなり、他の要素が無効化されます。 モーダルダイアログはすぐ下にオーバーレイを作成します。

position

型:Object or String or Array
初期値:{my: "center", at: "center", of: window}

ダイアログをどの場所に表示するかを指定します。 ダイアログは出来るだけ表示されるように調整を行います。

Object
ダイアログを開いた際の位置を指定します。 デフォルトでは、相対位置はwindowですが別のものを指定することも可能です。 詳しくは jQuery UI Position を確認してください。
String 1.10非推奨
位置を表す文字列を指定します。 "center", "left", "right", "top", "bottom"の値を指定可能です。
Array 1.10非推奨
x,yのペアの配列を、top,leftからのピクセル位置で指定します。
$( ".selector" ).dialog({
  position: {my: "left top", at: "left bottom", of: button}
});

※型にStringとArrayを使用するのは、1.10から非推奨になっています。

//古いAPIのコード(非推奨)
$( "#dialog" ).dialog({
    position: "right bottom"
});
//新しいAPIのコード
$( "#dialog" ).dialog({
    position: {
        my: "right bottom",
        at: "right bottom"
    }
});
//古いAPIのコード(非推奨)
$( "#dialog" ).dialog({
    position: [ 200, 100 ]
});
//新しいAPIのコード
$( "#dialog" ).dialog({
    position: {
        my: "left top",
        at: "left+200 top+100"
    }
});
resizable

型:Boolean
初期値:true

trueが設定された場合、ダイアログのリサイズが可能になります。 リサイズ処理には、 jQuery UI Resizable ウィジット が読み込まれている必要があります。

show

型:Number or String or Object
初期値:null

showアニメーションをどのようにするかを指定します。

Number
指定した時間(ミリ秒)でフェードインアニメーションを行います。
String
showアニメーションをjQuery UIのエフェクト名で指定します。
Object
effect, duration, easingのプロパティが提供されています。
effectはhideアニメーションをjQuery UIのエフェクト名(例:"blind")の文字列で指定します。
durationとeasingは省略可能で、省略された場合はデフォルト値が使用されます。
stack1.10削除

型:Boolean
初期値:true

他のダイアログの重なりの一番上に表示するか否かを指定します。 ダイアログはフォーカスすると、一番上に表示されます。

title

型:String
初期値:null

ダイアログのタイトルを指定します。 1.9までは一部のHTMLも使用可能ですが、1.10からはセキュリティの観点からテキストのみとなりました。 HTMLを使用したい場合は、_title()メソッドをオーバーライドするカスタマイズが必要です。 また、nullであればダイアログのソースコードのtitle属性が使用されます。

width

型:Number
初期値:300

ダイアログの横幅を指定します。単位はpxになります。

zindex1.10削除

型:Integer
初期値:1000

ダイアログの初期のzindex値を指定します。

$( ".selector" ).dialog({ zIndex: 20 });
メソッド説明
close()

ダイアログを閉じます。

$( ".selector" ).dialog( "close" );
destroy()

ダイアログの機能を完全に削除します。

disable()

ダイアログを無効化します。

enable()

ダイアログを有効にします。

isOpen()

戻り値:Boolean

現在、ダイアログが開いているかどうかを調べます。

moveToTop()

ダイアログを他のダイアログの重なりの一番上に移動します。

open()

ダイアログを開きます。

option( optionName )

戻り値:Object

optionNameに指定したオプションの現在の値を取得します。

optionName
型:String
取得したいオプションの名前を指定します。
option()

戻り値:PlainObject

オプションの各キーと値がペアとなったオブジェクトを返します。

option( optionName, value )

引数のoptionNameのオプションに値を設定します。

optionName
型:String
設定したいオプションの名前を指定します。
value
型:Object
設定したい値を指定します。
option( options )

オプションに設定したい各キーと値がペアとなったオブジェクトを指定します。

option
型:Object
設定したいオプションのキーと名前のペアを指定します。
widget()

生成されたもの(ダイアログ?)を含むjQueryオブジェクトを返します。

イベント 説明
beforeClose( event, ui )

型:dialogbeforeclose

ダイアログが閉じられる直前にトリガされます。 もし、キャンセルされた場合、ダイアログは閉じられません。

$( ".selector" ).dialog({
    beforeClose: function( event, ui ) {}
});
$( ".selector" ).on( "dialogbeforeclose", function( event, ui ) {} );
close( event, ui )

型:dialogclose

ダイアログが閉じられた際にトリガされます。

create( event, ui )

型:dialogcreate

ダイアログが生成された際にトリガされます。

drag( event, ui )

型:dialogdrag

ダイアログがドラッグされている間、トリガされます。

ui.position
ダイアログの現在のCSS position
ui.offset
ダイアログの現在のoffset position
dragStart( event, ui )

型:dialogdragstart

ダイアログのドラッグが開始される際にトリガされます。

ui.position
ダイアログの現在のCSS position
ui.offset
ダイアログの現在のoffset position
dragStop( event, ui )

型:dialogdragstop

ダイアログのドラッグが終了した際にトリガされます。

ui.position
ダイアログの現在のCSS position
ui.offset
ダイアログの現在のoffset position
focus( event, ui )

型:dialogfocus

ダイアログがフォーカスされた際にトリガされます。

open( event, ui )

型:dialogopen

ダイアログが開かれた際にトリガされます。

resize( event, ui )

型:dialogresize

ダイアログがリサイズされている間、トリガされます。

originalPosition
ダイアログのリサイズ直前のCSS position
position
現在のダイアログのCSS position
originalSize
ダイアログのリサイズ直前のサイズ
size
現在のダイアログのサイズ
resizeStart( event, ui )

型:dialogresizestart

ダイアログのリサイズが開始される際に、トリガされます。

orginalPosition
ダイアログのリサイズ直前のCSS position
position
現在のダイアログのCSS position
originalSize
ダイアログのリサイズ直前のサイズ
size
現在のダイアログのサイズ
resizeStop( event, ui )

型:dialogresizestop

ダイアログのリサイズが終了される際に、トリガされます。

orginalPosition
ダイアログのリサイズ直前のCSS position
position
現在のダイアログのCSS position
originalSize
ダイアログのリサイズ直前のサイズ
size
現在のダイアログのサイズ

 Back to top

© 2010 - 2017 STUDIO KINGDOM