触发mousedown上的拖拽

时间:2009-12-15 10:00:57

标签: javascript jquery jquery-ui draggable

这是我的问题,我正在尝试创建一个触发可拖动的事件。这是我已经尝试过的。

<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不会被触发。这有可能吗?我做错了什么?

1 个答案:

答案 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; 
};