1

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

<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 。这甚至可能吗?我究竟做错了什么??

4

1 回答 1

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; 
};
于 2010-01-20T15:52:43.107 回答