2013-10-30 57 views
0

我有一個動態文本框,我將其綁定到焦點事件以打開對話框。在文本焦點事件上打開jQuery對話框時出現錯誤

$('#formtable').on('focus', '#textbox1', function (e) {       
callOpenDialog('Dialog');    
}); 

其中formtable是格容器的文本字段及功能被定義爲

function callOpenDialog(title) 
{ 
$("#Dialog").dialog({ 
     title: title, 
     resizable: false, 
     modal: true, 
     height: 300, 
     width: 300,   
     position: 'top'      
    }); 
} 

的問題是: 1)在文本框的焦點,打開的對話框但重點仍然是對文本框本身。我想把重點放在對話上; 2)在關閉對話框錯誤顯示爲 遺漏的類型錯誤:

但是無法調用空的方法「_focusTabbable」當我綁定到點擊事件能正常工作,但我必須這樣做對焦點事件。

我嘗試使用

e.preventDefault() 
or 
$("#Dialog").focus() 

,但無濟於事。 請幫忙。

+0

這是JQuery UI對話窗口? –

+0

是的,它是一個jQuery對話框 – abc123

回答

0

可以在開放的回調方法來初始化你的東西,

$("#Dialog").dialog({ 
    open: function(event, ui) {} 
}); 

綁定事件監聽器dialogopen事件:

$("#Dialog").on("dialogopen", function(event, ui) {}); 

要了解更多關於活動&方法:http://api.jqueryui.com/dialog/

+0

我已經試過這個,但它沒有工作。 – abc123

1

我已經回答了問題

1)我禁用焦點事件的文本框。

$('#formtable').on('focus', '#textbox1', function (e) {       
    $("#textbox1").attr('disabled','disabled'); 
    callOpenDialog('Dialog');  
}); 

焦點現在轉移到對話框。

2)對於這個錯誤「無法調用空的方法‘_focusTabbable’」

我打電話jQuery的對話框的關閉事件破壞方法。

close: function (event, ui) { 
      $(this).dialog('destroy');    
     }