2013-02-03 58 views
0

這是我正在嘗試做的一個示例。如何確定一個元素是否配置了對話框?

<html> 
<head> 
    <script type="text/javascript" language="javascript"> 
     function doOpen() { 
     if ($('#dialog-modal').dialog('widget') == '') 
      document.getElementById('#dialog-modal').style.display = 'block'; 
     else  
      $('#dialog-modal').dialog('open'); 
     } 

     function doClose() { 
     if ($('#dialog-modal').dialog('widget') == '') 
      document.getElementById('#dialog-modal').style.display = 'none'; 
     else 
      $('#dialog-modal').dialog('close'); 
     }  

     function doAttach() {  
     $('#dialog-modal').dialog({ 
      width: 'auto', 
      height: 'auto', 
      title: 'Popup Dialog', 
      autoOpen: false, 
      resizable: false, 
      modal: true 
     }); 

     document.getElementById('dialog-modal').style.display = 'block'; 
     } 
    </script> 
</head> 
<body> 
<input type="button" id="Show" value="Open" onclick="doOpen();" /> 
<input type="button" id="Attach" value="Attach" onclick="doAttach();" /> 

<div id="dialog-modal" style="display:none"> 
Show this in a model dialog window<br /> 
<input type="button" id="Close" value="Close" onclick="doClose()" /> 
</div> 
</body> 
</html> 

如果我在做任何事情之前點擊「附加」,對話框就會顯示出來。但是,如果我先點擊「打開」,那麼我得到錯誤。我需要知道這條線應該是什麼樣,看看是否對話框的模式已經被連接到一個對話框

if ($('#dialog-modal').dialog('widget') == '') 

回答

1

這一點很難告訴你要做些什麼,但你可以使用數據()查看是否附加了對話框。

if ($('#dialog-modal').data('uiDialog')) { 
    alert('dialog attached'); 
} 
1

大部分插件都會在目標html元素中添加一些類和數據。你需要找出類和他們增加的數據比你可以把它在條件 像

if($('selector').hasClass('classAdded')){ 
//do something 
} 

或者

if($('selector').data('dataKey')){ 
//do something 
} 

對於類可以螢火蟲屏幕或其它屏幕上只看到。 要得到他們正在分配的數據,請使用

alert(JSON.stringify($(selector).data())); 
相關問題