首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery resizable()对象不退回

jQuery resizable()对象不退回
EN

Stack Overflow用户
提问于 2011-12-31 16:44:40
回答 1查看 944关注 0票数 4

我不明白这为什么行不通。我有一个内部带有iframe的div。我将iframe ()应用于jQuery并将"alsoResize“选项设置为我的iframe。下面是它的实现方式:

代码语言:javascript
复制
$("#my-frame-wrapper").resizable({
    alsoResize : '#myframe'
});

基本上,我尝试将resizable()直接实现到iframe,但它不起作用,所以我尝试了这种方法。

问题是:

如果我拉伸div,它可以工作(调整大小),但它不想缩回(如果我拖回)。取而代之的是,它完全失去了控制(在Chrome中),它开始在每次鼠标移动时上下弹跳(我必须补充一句,非常恼人)。

我是不是遗漏了什么?还有没有人遇到过这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-31 17:58:29

iframe元素内的鼠标事件不会移出,因此当您向后拖动时,JQuery UI不会做出反应。

为了防止iframe捕获鼠标事件,您可以在开始拖动时添加一个掩码div。

html:

代码语言:javascript
复制
<div id="my-frame-wrapper">
    <iframe id="my-frame" src="http://jsfiddle.net/"></iframe>
    <div id="mask"></div>
</div>

css:

代码语言:javascript
复制
#my-frame-wrapper {
    width:200px;
    height:100px;
    position:relative;
}
#my-frame {
    width:100%;
    height:100%;
}
#mask {
    position:absolute;
    top:0;
    left:0;
    margin:0;
    padding:0;
    width:100%;
    height:100%;
    display:none;
}

js:

代码语言:javascript
复制
$(function(){
    $("#my-frame-wrapper").resizable({
        start: function(event, ui) {
           $("#mask").css("display","block");
        },
        stop: function(event, ui) {
           $("#mask").css("display","none");
        }
    });
});

参见jsfiddle

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8687232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档