我想知道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;
}
答案 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;
答案 1 :(得分:2)
你是对的,它只适用于Window。如果窗口大小改变(或者在某些移动电话上滚动太远),浏览器将触发调整大小事件。您必须创建一些可以监视单个元素大小并触发自定义事件的内容。
其API中的Trigger page包含有关触发自定义事件的一些信息。