jQuery resize函数只对窗口有效吗?

时间:2016-05-12 13:43:36

标签: javascript jquery html css

我想知道jQuery .resize()函数是否仅适用于(a)窗口?我不能利用这个功能来检测某个元素的大小调整吗?

例如,以下JSFiddle现在不起作用了吗?但实际上可以使它有效吗?

inactiveStaff
$(document).ready(function() {
  /* Does not work for me: */
  $(".foo").resize(function() {
    alert("yes!");
  });

  /* Does work for me: */
  $(window).resize(function() {
    alert("yes!");
  });
});
.foo {
  border: 2px solid;
  padding: 20px;
  width: 100px;
  ;
  resize: both;
  overflow: auto;
}

2 个答案:

答案 0 :(得分:2)

是的,使用此插件 JqueryUI Resizable 可以实现,代码就像

一样简单
$( ".foo" ).resizable();

下面的示例演示



$(document).ready(function() {
	$("#resize-me").resizable();
});

#resize-me
{
  height: 150px;
  width: 150px;
  border:2px solid;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script   src="https://code.jquery.com/ui/1.12.0-rc.2/jquery-ui.min.js"   integrity="sha256-55Jz3pBCF8z9jBO1qQ7cIf0L+neuPTD1u7Ytzrp2dqo="   crossorigin="anonymous"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<div id="resize-me">
 Resize me
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

你是对的,它只适用于Window。如果窗口大小改变(或者在某些移动电话上滚动太远),浏览器将触发调整大小事件。您必须创建一些可以监视单个元素大小并触发自定义事件的内容。

其API中的Trigger page包含有关触发自定义事件的一些信息。