如何在kinetijs中同时使用可拖动和双击
how to use draggable and double click together in kineticjs?
如何在kinetijs中同时使用可拖动和双击?当使用draggable时,双击将不起作用。这是我绘制图像的代码。。
function draw(images) {
abcImg= new Kinetic.Rect({
x: 50,
y: 150,
width: 50,
height: 50,
fillPatternImage: images.abc,
name: "abc",
draggable: true
});
}
这里是双击时的代码。。
layer.on('dblclick', function(evt) {
var shape = evt.shape;
name = shape.getName();
$( "#dialog-form" ).dialog( "open" );
});
我正在使用kineticjs和jquery。。非常感谢。
以下是如何在舞台的空白区域监听鼠标/触摸事件
要监听舞台(任何非对象区域(上的鼠标/触摸事件,需要添加一个新层,其中包含一个填充舞台的矩形。然后你可以在空的舞台区域处理鼠标/触摸事件:eventLayer.on("dblclick",function(e({//do doubleclick stuff}
该层代码如下所示:
// Create a layer that will listen for mouse/touch events
var eventLayer = new Kinetic.Layer();
eventLayer.add(new Kinetic.Rect({
x:0,
y:0,
width:400,
height:300
}));
stage.add(eventLayer);
// TEST--listen for "dblclick"
eventLayer.on('dblclick', function(evt) {
alert("2click");
});
以下是完整的代码和Fiddle:http://jsfiddle.net/m1erickson/gNMRq/
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.2-beta.js"></script>
</head>
<body>
<div id="container"></div>
<script>
var stage = new Kinetic.Stage({
container: 'container',
width: 400,
height: 300
});
var layer = new Kinetic.Layer();
var rectX = stage.getWidth() / 2 - 50;
var rectY = stage.getHeight() / 2 - 25;
var box = new Kinetic.Rect({
x: rectX,
y: rectY,
width: 100,
height: 50,
fill: '#00D2FF',
stroke: 'black',
strokeWidth: 4,
draggable: true
});
// add cursor styling
box.on('mouseover', function() {
document.body.style.cursor = 'pointer';
});
box.on('mouseout', function() {
document.body.style.cursor = 'default';
});
// Create a layer that will listen for mouse/touch events
var eventLayer = new Kinetic.Layer();
eventLayer.add(new Kinetic.Rect({
x:0,
y:0,
width:400,
height:300
}));
stage.add(eventLayer);
// TEST--listen for "dblclick"
eventLayer.on('dblclick', function(evt) {
alert("2click");
});
layer.add(box);
stage.add(layer);
</script>
</body>
</html>
它运行良好。看看这个,它使用了draggable和dblclick,两者都很好。
http://jsbin.com/oruhif/1/edit
相关文章:
- 如何使元素在可拖动元素内可单击
- 如何拖动&点击纯phantomjs
- FullCalendar单击并拖动多个事件
- 防止在单击拖动时关闭引导下拉列表
- 模拟双击拖动结束 - jquery UI
- 当我单击画布并拖动鼠标时,光标将变为文本选择光标.我该如何防止这种情况发生
- 在jquery中单击并拖动
- 防止拖动上的ko点击绑定
- d3-单击时触发的拖动行为
- Div元素并没有引导点击以启用拖动功能
- D3 区分具有拖动行为的元素的单击和拖动
- 如何使用鼠标单击和拖动来放大 D3
- 如何防止在拖动时单击元素
- 防止正在拖动的父项的子项上的单击事件
- 如何在鼠标单击时设置可拖动事件
- 是否可以以编程方式触发点击/拖动事件以启动轮播移动
- 在同一个元素中使用Javascript、单击、双击和拖动
- jQuery UI可拖动:单击时堆叠
- 如何在jquery中停止双击拖动事件
- 如何在kinetijs中同时使用可拖动和双击