1

最初のページがあります。2番目のページが内部にあるiframeでjQueryダイアログを開くリンクはどこにありますか。2 ページ目にサイズ変更可能なテキストエリアがあります。実際には、iframe なしで 2 番目のページを厳密に開いた場合にのみテキストエリアのサイズを変更できますが、iframe 内ではサイズを変更できません。どうすれば修正できますか?

UPD:これは最初のページからの私のhtmlコードです:

  1. <div id="dialog-system" title="system settings">
  2.   <div class="loadingDivForDialog"><img src="Control/Image/loading.gif" alt="loading..." /></div>
  3.   <iframe id="SystemFrame" src="" scrolling="no" frameborder="0"></iframe>
  4. </div>
* This source code was highlighted with Source Code Highlighter.

これは、opent ダイアログ ボックスへのスクリプトです。

  1. function showSystemDialog(propertyName, id_prov, psysName, currentItemForTick) {
  2.   $('.loadingDivForDialog').show();
  3.   $('#SystemFrame').hide();
  4.  
  5.   var defaultSrc = "Settings.aspx?pro=" + propertyName + "&id_prov=" + id_prov;
  6.   $("#systemFrame").attr('src', String(defaultSrc));
  7.  
  8.   $("#dialog-system").dialog({
  9.     resizable: false,
  10.     height: 300,
  11.     width: 680,
  12.     modal: true,
  13.     position: 'center',
  14.     buttons: {}
  15.   });
  16.   $('#SystemFrame').load(function() {
  17.     $('.loadingDivForDialog').hide();
  18.     $('#SystemFrame').show();
  19.     $('#SystemFrame').contents().find("input[value='Update']").click(function() {
  20.  
  21.       var obj = $("#" + currentItemForTick);
  22.  
  23.       if (obj.get(0).tagName == "INPUT") {
  24.         obj.attr('checked', true);
  25.       }
  26.       else {
  27.         obj = window.parent.$("input[value='" + psysName + "']");
  28.  
  29.         obj.attr("checked", true);
  30.       }
  31.     });
  32.  
  33.     $('#SystemFrame').contents().find("input[value='Cancel']").click(function() { $("#dialog-system").dialog("close") });
  34.  
  35.     $("#dialog-system").dialog("option", "height", parseInt($('#SystemFrame').contents().height(), 10) + 35);
  36.   });
  37.   return false;
  38. }
* This source code was highlighted with Source Code Highlighter.

これは、2 ページ目のテキストエリアとスクリプトです。

  1. <textarea name="ctl00$ContentPlaceHolderBody$ctrl02$fldText" rows="2" cols="20" id="ctl00_ContentPlaceHolderBody_ctrl02_fldText" class="textbox"></textarea>
  2.  
  3. <script type="text/javascript">$(function() {
  4.   $("#ctl00$ContentPlaceHolderBody$ctrl02$fldText").resizable({
  5.     handles: "se",
  6.     maxWidth: 340,
  7.     minWidth: 196,
  8.     minHeight: 18
  9.   });
  10. });</script>
* This source code was highlighted with Source Code Highlighter.

UPD: 何かアイデアはありますか?

4

1 に答える 1

0

ページに iframe がある場合、サイズ変更で同様の問題が発生します。私は、iframe が関連するマウス ハンドラーが jQuery のサイズ変更ロジックに到達するのを妨げているという結論に達し始めています。

厳密には解決策ではありませんが、誰かを正しい方向に向ける可能性があります。

更新: 潜在的な修正の詳細については、この jQuery チケットの最後のコメントを参照してくださいhttp://bugs.jqueryui.com/ticket/3176

于 2012-05-24T14:10:22.537 に答える