如何使用jQuery UI检测我拖到窗口外的内容
How do I detect with jQuery UI that I dragged outside the window?
这是我当前的代码:
@row.draggable(
handle: '.Drag',
helper: (event) =>
clone = @row.clone()
$("td:gt(0)", clone).remove()
return clone
refreshPositions: true
stop: (event) =>
if event.pageX < 0
#do something bc outside of window
alert('dragged out of window');
)
问题是,只有当我将项拖到窗口左侧时,if语句(在stop
回调中)才为true。
但让我们说我把它拖到右边、上面还是下面?
是否有一个涵盖所有情况的解决方案?
如果你不能阅读coffeescript,这就是我的代码在javascript:中的翻译(或多或少)
var _this = this;
this.row.draggable({
handle: '.Drag',
helper: function(event) {
var clone;
clone = _this.row.clone();
$("td:gt(0)", clone).remove();
return clone;
},
refreshPositions: true,
stop: function(event) {
if (event.pageX < 0) {
return alert('dragged out of window');
}
}
});
好吧,您可以对top执行类似的操作:if event.pageY < 0
。
对于底部和右侧,您需要对照有问题的东西的尺寸检查pageX和pageY。由于pageX和pageY报告鼠标相对于文档左上角的位置,并且获取文档宽度的方法是通过document.body.clientWidth
,因此可以通过以下方式将其组合在一起:
if (event.pageX < 0 || event.pageX > document.body.clientWidth ||
event.pageY < 0 || event.pageY > document.body.clientHeight) {
alert('dragged out of window');
}
相关文章:
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 基于窗口宽度jquery的函数的替代方法是什么
- Jquery Onclick将数据发送到新打开的窗口
- jQuery调整大小函数只适用于窗口
- 是否可以使用Jquery操作窗体的目标窗口
- 使用jQuery可以根据窗口大小更改滑块的css高度
- 弹出窗口-jQuery Mobile、Backbone.js和Require.js
- 如何将文本框弹出窗口(Jquery 工具提示或类似工具)添加到画布中的 Fabric JS 图像
- 如何在点击弹出窗口jQuery内应用悬停效果
- 如何关闭模型弹出窗口jquery
- 从新打开的窗口jquery中删除一个节点
- 可拖动的非模态弹出窗口Jquery Mobile
- 在弹出窗口Jquery(灯箱)中打开照片
- 将Modal定位到当前窗口-jQuery
- 什么是窗口?jQuery和窗口.美元的意思
- 在新的窗口jquery功能不工作
- 警告中心元素窗口(jQuery)
- 条形码扫描器触发下一个按钮点击事件和弹出窗口JQuery
- 如何从另一个弹出窗口中的链接调用弹出窗口.Jquery Mobile
- 如何重用剑道ui窗口jquery