使用FabricJS我制作了一个可以添加矩形的画布。 将矩形添加到画布后,可以将其拖动到任何位置。
我的问题是,当我停止拖动矩形时,事件:
canvas.on('mouse:up', function(element) { ... });
被触发,但这是一种不受欢迎的行为。
如何触发事件:
canvas.on('mouse:up', function(element) { ... });
只有当有效点击左键鼠标时,而不是当我结束拖动对象时?
答案 0 :(得分:3)
你可以这样做:
var _isDragging = false;
var _isMouseDown = false;
canvas.on('mouse:down', function () {
_isMouseDown = true;
// other stuff
});
canvas.on('mouse:move', function () {
_isDragging = _isMouseDown;
// other stuff
})
canvas.on('mouse:up', function(element) {
_isMouseDown = false;
var isDragEnd = _isDragging;
_isDragging = false;
if (isDragEnd) {
// code for drag complete
} else {
// code for no drag mouse up
}
// code for both
});
答案 1 :(得分:0)
应避免添加def prepareSlackMessage(self, cur):
from tabulate import tabulate
query = "SELECT something_awesome FROM my_awesome_table"
print query
out = dbQuery(cur, query)
if len(out) > 0:
df = pd.DataFrame(data=list(out), index=None, dtype=object)
df_tab = tabulate([list(row) for row in df.values], headers=list(df.columns), tablefmt="grid", stralign="center")
print df_tab
else:
df_tab = "Nothing to post, the database query didnt return any result"
print df_tab
return df_tab
侦听器
cos move事件在每个像素上触发
参见fabric.js event inspector sample
在大多数情况下,您只需要比较
mouse:move
和mousedown
的两个点击位置
mouseup