Jquery 达到安全壳限值时发出警报

Jquery 达到安全壳限值时发出警报,jquery,draggable,Jquery,Draggable,有人能告诉我当达到安全壳限值时如何显示警报吗 提前感谢。您可以检查发生故障时位置是否没有变化,如下所示: var position = {}; $("#draggable").draggable({ containment: 'document', drag: function(event, ui) { if(position.top == ui.position.top && position.left == ui.position.left) {

有人能告诉我当达到安全壳限值时如何显示警报吗


提前感谢。

您可以检查发生故障时位置是否没有变化,如下所示:

var position = {};
$("#draggable").draggable({ 
  containment: 'document',
  drag: function(event, ui) {
    if(position.top == ui.position.top && position.left == ui.position.left) {
      alert("Constrained");
      return false;
    }
    position = ui.position;
 }
});​

您可以检查发生故障时的位置是否不变,如下所示:

var position = {};
$("#draggable").draggable({ 
  containment: 'document',
  drag: function(event, ui) {
    if(position.top == ui.position.top && position.left == ui.position.left) {
      alert("Constrained");
      return false;
    }
    position = ui.position;
 }
});​


你所说的“遏制极限”到底是什么意思?如果你是指大多数人在这里的想法,我不会这么做。如果显示警报,焦点将移动到弹出窗口,元素不再被拖动(意味着关闭弹出窗口后连接元素鼠标丢失)。这可能会激怒用户。假设我的限制值为:[400,0,50,0]对于x轴可拖动设备,我希望在达到400或50时能够发出警报。仅此而已,感谢您的关注。只想将此警报作为如何启动功能的示例,感谢FelixContainement Break在我的设备上触发红色警报。你驾驶的是什么类型的星际飞船?你所说的“遏制极限”到底是什么意思?如果你是指大多数人在这里所想的,我不会这么做。如果显示警报,焦点将移动到弹出窗口,元素不再被拖动(意味着关闭弹出窗口后连接元素鼠标丢失)。这可能会激怒用户。假设我的限制值为:[400,0,50,0]对于x轴可拖动设备,我希望在达到400或50时能够发出警报。仅此而已,感谢您的关注。只想将此警报作为如何启动功能的示例,感谢FelixContainement Break在我的设备上触发红色警报。你驾驶的是什么类型的星际飞船?这个例子很有效,但是。。。如何防止多重警报?如果我触发一个函数而不是一个警报,该函数的执行次数是否会与警报的执行次数一样多?@Moustard-它会在您因遇到约束而阻止拖动时发出警报,它只在您拖动并再次单击时发出警报。正如Felix在评论中所指出的,我不确定这是你想要的行为。如果你在这里做一个函数,它将在每次它们到达边缘时执行…如果这不是你想要的,那么想想,你怎么说我这次想运行它,而不是那一次?除非它是基于时间的,否则这里没有一个很好的节流方式。所以。。。如何在达到限制时只启动一次功能?我可以设置一个全局函数,并且只能在函数为false时运行它。。。有什么建议吗?这个代码肯定是+1!为什么OP还没有检查它@Moustard-The
return false
阻止了这一点,并取消了进一步的拖动…您是否尝试了演示?该示例有效,但。。。如何防止多重警报?如果我触发一个函数而不是一个警报,该函数的执行次数是否会与警报的执行次数一样多?@Moustard-它会在您因遇到约束而阻止拖动时发出警报,它只在您拖动并再次单击时发出警报。正如Felix在评论中所指出的,我不确定这是你想要的行为。如果你在这里做一个函数,它将在每次它们到达边缘时执行…如果这不是你想要的,那么想想,你怎么说我这次想运行它,而不是那一次?除非它是基于时间的,否则这里没有一个很好的节流方式。所以。。。如何在达到限制时只启动一次功能?我可以设置一个全局函数,并且只能在函数为false时运行它。。。有什么建议吗?这个代码肯定是+1!为什么OP还没有检查它@Moustard-The
return false
阻止了这一点,并取消了进一步的拖动…您是否尝试了演示?