是否可以允许鼠标的中间单击来拖动节点和边缘,类似于启用userPanning
时左键通常所做的操作?我的应用程序几乎不需要摇摄,所以我希望默认的行为是框式选择,并且只允许在中间点击时进行摇摄。
我试图捕捉所有的中间单击事件,然后用下面的代码(小提琴)的许多变体触发左击:
cy.userPanningEnabled(false); //no panning by default
cy.boxSelectionEnabled(true); //box selection instead
$('#cy').on('mousedown', function(e) {
if (e.which == 2) {
// Middle click.
cy.userPanningEnabled(true);
// ..some code here to replicate left-click event, such as conceptually:
// e.which = 1; $('#cy').trigger(e);
} else {
cy.userPanningEnabled(false);
}
});
但是,无论我如何尝试,我似乎都无法复制在cytoscape.js实例中触发的左击事件。
有人知道这是否可行吗?
发布于 2016-08-03 06:48:40
不能保证何时执行手势检查。这意味着在手势事件序列中不能可靠地禁用摇摄。
特别是中点,请考虑设备/OS支持:
即使你只支持桌面设备,你仍然只会支持少数用户依靠中点击。
一种更包容的方法是切换pan模式和select模式,而select模式是默认的。
虽然我不建议使用中点,你可以写你自己的手势使用它,如果你真的想。摇摄逻辑非常简单,特别是在cy.panBy()
中。
https://stackoverflow.com/questions/38732805
复制相似问题