【问题标题】:Jquery resizable is not working properly with child class可调整大小的 Jquery 无法与子类一起正常工作
【发布时间】:2016-10-31 08:54:34
【问题描述】:

由于某种原因,无法为孩子调整大小。

<div class="parent"><img class="child"></div>
<div class="parent"><img class="child"></div>
<div class="parent"><img class="child"></div>

当我尝试 $(".parent").resizable( {alsoResize: ".child"});then 调整大小时,它会调整所有图像而不是相应图像的大小。

当我尝试时

$(".parent").resizable({ alsoResize: $(this).closest('.child') });

$(".parent").resizable({ alsoResize: $(this).find('.child') });

那么只有 div 正在调整大小,而不是里面的图像。为什么会这样?

另外,当我使用$(".child").resizable(); 时,&lt;div class="ui-wrapper" &gt; 即将到来并变为

<div class="parent"> 
    <div class="ui-wrapper"><img class="child ui-resizable"></div>
</div>

但这里的问题是 img 没有显示,因为 display none 自动出现,ui-wrapper 类的宽度和高度未设置或设置为 0 。请帮忙找出问题。

【问题讨论】:

  • this 不引用 .parent 元素
  • 那么我需要做什么?为什么它不引用父元素,因为我从选择 $(".parent") 开始?我认为选择后这指的是父元素
  • 我为你添加了答案

标签: javascript jquery css jquery-ui


【解决方案1】:

首先你的选择器不正确;您缺少 . 前缀。其次,this 不是指.parent 元素,它指的是正在创建事件处理程序的范围。要解决此问题,您可以循环遍历.parent 元素并将事件单独附加到它们。试试这个:

$(".parent").each(function() {
    $(this).resizable({ 
        alsoResize: $(this).find('.child')
    });
});

【讨论】:

  • alsoResize: $(this).find('.child') 之后不需要分号。
  • 谢谢你的朋友。你能写出我们使用每个功能的原因吗? .以前我编写的代码没有每个函数,那个时候 div resize 也可以工作。
  • 这是因为您拥有的逻辑取决于知道当前.parent.child 元素。为此,您的代码必须在每个 .parent 元素的范围内运行,这就是为什么这里需要 each()
  • 好的。谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-08-24
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多