Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道在jQuery中调整元素大小时使用了哪个句柄_Javascript_Jquery_Jquery Ui Resizable - Fatal编程技术网

Javascript 如何知道在jQuery中调整元素大小时使用了哪个句柄

Javascript 如何知道在jQuery中调整元素大小时使用了哪个句柄,javascript,jquery,jquery-ui-resizable,Javascript,Jquery,Jquery Ui Resizable,对于我的项目,我需要知道用户使用哪个边框('e'或'w')来调整div的大小。那么是否可能知道 我明白了: $(divProjet).resizable({ handles: "e,w", grid: 71, maxWidth: 1498, minWidth: 69, containment: $($(this).parent()[0]).parent()[0], start: function () { }, stop: function (e

对于我的项目,我需要知道用户使用哪个边框('e'或'w')来调整div的大小。那么是否可能知道

我明白了:

$(divProjet).resizable({
   handles: "e,w",
   grid: 71,
   maxWidth: 1498,
   minWidth: 69,
   containment: $($(this).parent()[0]).parent()[0],
   start: function () {

   },
   stop: function (event, ui) {
      var numDayModif = (ui.size[0] - ui.originalSize[0]) / 71;
   }
});

由于jQuery UI为每个句柄向可调整大小的
中插入元素,因此每次开始调整大小时,您都可以确定要针对哪个句柄:

start: function (e) {
    var className = e.originalEvent.target.className.split(" ").pop();
    var side = className.replace("ui-resizable-","",className);
    console.log(side); // e or w
}
  • e.originalEvent.target
    是“句柄”(DOM元素)
  • 我们使用
    pop()
    获取完整的类名,拆分类,并获取最后一个类。(最后一个类类似于
    ui-resizable-e
  • 使用
    replace()
    从字符串中删除“ui resizeable-”位,您将收到剩下的内容(e或w)
注意:如果您选择使用北手柄和南手柄,当然也可以


检查
停止
事件中的
ui.originalPosition
属性。如果大小相同,则从东调整大小。如果大小不同,则从西调整大小。请参阅可接受的答案,这可能会对您有所帮助。@RGraham:谢谢您的提示!