【发布时间】:2017-07-14 11:24:57
【问题描述】:
我有一个使用 AngularJS(1.3) 和 Kendo-UI(2016.1.112) 和 jquery (2.1.4) 实现的流程图。流程图中的每个形状都有一个关联的点击事件,这会打开一个弹出窗口
一切都按预期工作,但在支持触摸的 Windows 笔记本电脑上,弹出窗口没有打开(点击事件永远不会传递),控制台中没有错误。最有可能的是,触摸事件干扰了点击事件。
一种解决方法是禁用机器上的触摸输入,从而解决问题。
在 HTML 中:
<div kendo-diagram k-options="vm.options" k-data-source="vm.shapes" k-connections-data-source="vm.connections"
ng-style="{'height': vm.height, 'width': vm.width}"></div>
我有形状和连接的对象列表。
在控制器中:
var clicked = function (e) {
alert("Hi");
//...
};
vm.options = {
shapeDefaults: {
editable: false,
visual: visualTemplate
},
click: clicked,
pannable: false,
dataBound: onDataBound,
editable: false,
zoom: 0.75,
zoomStart: function (e) {
e.preventDefault();
},
drag: function (e) {
e.preventDefault();
},
connectionDefaults: {
stroke: {
color: "Black",
width: 6
},
selectable: false,
editable: false,
endCap: {
type: "ArrowEnd",
stroke: {
color: "Black",
width: 6
}
}
},
layout: {
type: "layered",
subtype: "right",
layerSeparation: 100,
grid: {
offsetX: 400,
offsetY: 100
}
}
};
【问题讨论】:
-
添加事件处理程序的代码将帮助人们回答您的问题!
-
您是否尝试过使用jQuery Mobile tap events?如何与 Kendo/Angular also available 集成的演示。
-
@Sandman 我的主要用例是支持点击事件,并不特别担心支持触摸/点击事件,因为用户主要是桌面用户。
-
tap两者都支持!! -
只是一个更新,还没有找到任何解决问题的方法,但是这个问题似乎只发生在微软 Surface 笔记本电脑上,但在其他设备上也能正常工作(在 iPhone/iPad 上工作)。
标签: jquery angularjs svg kendo-ui