1

シンプルなjquery確認ダイアログがあり、他の要素ではなくダイアログ自体にフォーカスを設定したいと考えています。以下のコードは、フォーカスを設定するために行ったものです。

function showAlert() {   

                $("#dialog-confirm").dialog({
                    title: 'Main Information',
                    resizable: false,
                    height:140,
                    modal: true,
                    closeOnEscape:true,
                    buttons: {        
                        "Yes": function() {
                            document.getElementById('form1:newProfile' ).value="true";
                            if(disableSaveFlag) return false; else disableEnableSaveBtn('true');
                               $( this ).dialog( "close" );
                        },
                        "No": function() {
                            document.getElementById('form1:newProfile' ).value="false";
                            if(disableSaveFlag) return false; else disableEnableSaveBtn('true');
                            $( this ).dialog( "close" );
                        }      
                    }    
                });
                 $("#dialog-confirm").focus(); // this line sets focus on div element with given id
            }

<div id="dialog-confirm" style="display:none">  
    <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
        Do you want to create a new profile ? 
    </p>
</div>

問題は、ダイアログ自体の「ID」が見つからず、それにフォーカスしていないことです。その結果、フォーカスは Div 要素に設定され、私のタイトルはフォーカスされていません。

以下は、上記のコードで得られるものです。

ここに画像の説明を入力

4

2 に答える 2