这是我的问题,我正在尝试创建一个触发可拖动的事件。这是我已经尝试过的。
<div id="ecard-canvas">
<div id="ecard-border"></div>
<img id="ecard-image" src="images/content/girl.jpg" alt="chick"/>
</div>
和JS。
$('#ecard-image').draggable();
$('#ecard-border').mousedown( function(event){
$('#ecard-image').trigger("mousedown.draggable", [event]);
});
但是当然,这不会对mousedown事件起作用,但是mousedown.draggable不会被触发。这有可能吗?我做错了什么?
答案 0 :(得分:0)
我解决了这个问题,经过多次思考,这是我的代码。
HTML
<div id="ecard-canvas">
<div id="ecard-image-handle"></div> //absolute z-index:30
<div id="ecard-border"></div> //absolute z-index: 20 and has a nice background border set to it
<img id="ecard-image" src="yourimage" /> //relative z-index: 10
</div>
的javascript
//get objects
oImage.obj = $('#ecard-image');
oImage.handle = $('#ecard-image-handle')
// set drag handler
oImage.handle.draggable({
addClasses: false,
drag: imageConstrain
});
//ondrag function
function imageConstrain(oEvent, oUI){
var newPosition = oUI.position;
oImage.obj.css({ 'left': newPosition.left, 'top': newPosition.top });
return newPosition;
};