jQuery 在 iframe 内调整大小的问题
我有第一页。哪里有一个链接,可以打开带有 iframe 的 jQuery 对话框,其中有第二页。 第二页内有一个可调整大小的文本区域。 实际上,只有当我严格不使用 iframe 打开第二页时,文本区域才能调整大小,但在 iframe 内不能调整大小。 如何解决?
更新: 这是我第一页的 html 代码:
-
- < iframe id=“SystemFrame” src=“”scrolling=“no”frameborder=“0”>
* 此来源使用源代码荧光笔突出显示代码。
这是打开对话框的脚本:
- function showSystemDialog(propertyName, id_prov, psysName, currentItemForTick) {
- $('.loadingDivForDialog').show( );
- $('#SystemFrame').hide();
-
- var defaultSrc = "设置.aspx?pro=" + propertyName + "&id_prov=" + id_prov;
- $("#systemFrame").attr('src', String(defaultSrc));< /li>
-
- $("#dialog-system").dialog({
- 可调整大小: false ,
- 高度:300,
- 宽度:680,
- 模态:true,
- 位置:'center',
- 按钮:{}
- });
- $('#SystemFrame').load(function() {
- $('.loadingDivForDialog').hide();
- $('#SystemFrame').show();
- $('#SystemFrame').contents().find("input[value='Update']").click(function() {
-
- var obj = $("#" + currentItemForTick);
-
- if (obj.get(0).tagName == "INPUT") {
- obj.attr( '已检查', true);
- }
- 其他{
- obj = window.parent.$("input[value='" + psysName + "']");
< li> - obj.attr("checked", true);
- ; }
- });
-
- $('#SystemFrame').contents().find("input[value='取消']").click(function() { $("#dialog-system").dialog("close") }) ;
-
- $("#dialog-system").dialog("选项", "高度", parseInt($(' #SystemFrame').contents().height(), 10) + 35);
- });
- 返回 false;
- }
* 此源代码已使用 源代码荧光笔。
是第二页的文本区域和脚本:
-
* 此源代码已用 源代码荧光笔。
UPD:有什么想法吗?
I have a first page. Where is a link which open jQuery Dialog with iframe with second page inside.
There is a resizable textarea inside second page.
Actually the textarea resizable only when I open the second page strictly without iframe, but it's not resizable inside iframe.
How can it be fixed?
UPD:
This is my html code from first page:
- <div id="dialog-system" title="system settings">
- <div class="loadingDivForDialog"><img src="Control/Image/loading.gif" alt="loading..." /></div>
- <iframe id="SystemFrame" src="" scrolling="no" frameborder="0"></iframe>
- </div>
* This source code was highlighted with Source Code Highlighter.
this is script to opent dialog box:
- function showSystemDialog(propertyName, id_prov, psysName, currentItemForTick) {
- $('.loadingDivForDialog').show();
- $('#SystemFrame').hide();
- var defaultSrc = "Settings.aspx?pro=" + propertyName + "&id_prov=" + id_prov;
- $("#systemFrame").attr('src', String(defaultSrc));
- $("#dialog-system").dialog({
- resizable: false,
- height: 300,
- width: 680,
- modal: true,
- position: 'center',
- buttons: {}
- });
- $('#SystemFrame').load(function() {
- $('.loadingDivForDialog').hide();
- $('#SystemFrame').show();
- $('#SystemFrame').contents().find("input[value='Update']").click(function() {
- var obj = $("#" + currentItemForTick);
- if (obj.get(0).tagName == "INPUT") {
- obj.attr('checked', true);
- }
- else {
- obj = window.parent.$("input[value='" + psysName + "']");
- obj.attr("checked", true);
- }
- });
- $('#SystemFrame').contents().find("input[value='Cancel']").click(function() { $("#dialog-system").dialog("close") });
- $("#dialog-system").dialog("option", "height", parseInt($('#SystemFrame').contents().height(), 10) + 35);
- });
- return false;
- }
* This source code was highlighted with Source Code Highlighter.
this is textarea and script from the second page:
- <textarea name="ctl00$ContentPlaceHolderBody$ctrl02$fldText" rows="2" cols="20" id="ctl00_ContentPlaceHolderBody_ctrl02_fldText" class="textbox"></textarea>
- <script type="text/javascript">$(function() {
- $("#ctl00$ContentPlaceHolderBody$ctrl02$fldText").resizable({
- handles: "se",
- maxWidth: 340,
- minWidth: 196,
- minHeight: 18
- });
- });</script>
* This source code was highlighted with Source Code Highlighter.
UPD: Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当页面上有 iframe 时,我在调整大小时遇到类似的问题。我开始得出这样的结论:iframe 正在阻止相关的鼠标处理程序访问 jQuery 中的调整大小逻辑。
严格来说这不是一个解决方案,但它可能会为某人指明正确的方向。
更新:请参阅此 jQuery 票证的最后评论,了解潜在修复的更多详细信息 http://bugs.jqueryui。 com/ticket/3176
I'm having a similar problem with resizing when there are iframes on the page. I'm starting to come to the conclusion that the iframe is preventing the relevant mouse handlers getting through to the resize logic in jQuery.
Not strictly a solution, but it might point someone in the right direction.
UPDATE: See the last comment on this jQuery ticket for more details of a potential fix http://bugs.jqueryui.com/ticket/3176