Jquery ui - drop is not working all the times - jquery-ui

I have been facing a problem with the Jquery UI drag and drop. Please find out my sample code at,
http://jsbin.com/ojaji4
In above sample, There are two droppables. I have set [tolerance: 'pointer'] for droppables. In the middle, there are draggable elements. Now, start dragging element from the left side BLUE square and try to drop it over right side droppable (OR, start dragging element from the right side BLUE square and try to drop it over left side droppable). Both above scenarios, won't work!
Can anybody please suggest?

Remove the "containment: 'body'" from the draggables, so they can go further then the body.

Related

jQuery nested sortable - drag new element and connect it between

i have this problem - see jsfiddle
see code in jsfiddle
I want to drag orange box (outside of sortable) and place it between red and blue box - not inside to inner sortable, but between it.
But there is a problem that big green placeholder is not creating when i am hovered on inside sortable.
I tried to explane it in this video (see it full)
Is there a solution for this problem? Can you try to help me, please?

JQuery sortable (items with various heights) moving to first or last position is troublesome

Problem
I am having problems with my sortable list with several items of various height. The problem occurs when I'm trying to move a larger item to the first or last position (which both have smaller objects). If I succeed currently depends very much on where on the larger item I click and start dragging.
If I want to move the item to the smaller bottom position I must click close to the bottom of the item for it to work, and if I want to drag it to the top position I must click closely to the top. But I want to be able to drag the item by clicking anywhere.
Some additional information
The items cannot be dragged outside the parent and the parent is only as large as it has to be and a scroll appears if it's larger than it's container. So it seems that I cannot drag the larger item past the first(smaller) item if I don't drag it in the top part of the item.
I've been trying to fix this by using cursorAt and using top:0 and another test using bottom:0 But it doesn't seem to make any difference (so I might have misunderstood how to use it). I am currently using tolerance: pointer.
I can bypass the problem of not being able to drag the larger item to the last position by temporary during the sorting increasing the height with the height of the dragged item. But it doesn't always work and its not a very good solution. And the problem of not being able to drag it to the top still appears?
I cannot change the JQuery code as in jquery-sortable-with-containment-parent-and-different-item-heights
Question:
How can I drag a larger item to the top or bottom position while allowing the user to click anywhere on the item?
Thanks for your help!
This might not solve your problem, but I thought I'd share the results of some experimenting I did today. I needed to make a sortable photo gallery with inline-block pictures of varying widths, and found that moving wider photos would be really hard work because the placeholder was smaller than the item I was moving. I ended up using this:
container.sortable({
placeholder: "photo placeholder",
start: function (event, ui) {
ui.placeholder.width(ui.item.width());
}
});
The custom placeholder classes are there to ensure the placeholder isn't hidden by default, and the start event ensures that the placeholder is the same width as the item you're about to move. This worked very well for me, and in your case, substituting height for width might work.
I also tried using containment as you have done, and found that it sometimes makes things much harder depending on the items in the row. Like you have explained, including tolerance: "pointer" helps to alleviate the issues, but if possible, removing containment generally makes the UI more forgiving.

Drag & Drop in iFrame using jQuery UI issue

I'm using jQuery UI. When I drag element in the iframe and I move mouse out of the iframe, the element is still in the draggable state. So when I move mouse back to the iframe, I can still drag it, like I would had left mouse button down.
How to avoid it? So that if I start to drag element, it stops when I go out of the iframe in the last draggable position?
You need to trigger a mouseup() when your pointer leaves the iframe so that the element being dragged is no released.
$('body').one("mouseleave", function(){
$('body').mouseup();
});
There were more questions asked pertaining to my solution, so please refer my question posted here for more details

Creating a Firefox add-on with a sidebar on the right hand side

I'm trying to edit Daniel Buchner's sidebar library so that the sidebar shows up on the right hand side. Do I do something along the lines of the following?
sidebar.browser.style.MozBoxDirection = 'reverse';
Your approach doesn't work because you would need to change the direction of the sidebar's parent box, not its children. However, that would cause unnecessary fallout (like the default sidebar appearing on the right side and developer tools on the left). So it is better to solve the problem by changing this line:
document.getElementById('browser').insertBefore(clone, splitter);
Instead of inserting your sidebar on the left side you can use appendChild to add it to the end of the container. You will also have to add your own splitter however - you can clone the sidebar splitter and change its ID.

jQueryUI - draggable with a separate click to drop

I've implemented drag and drop OK with jQueryUI draggable and droppable.
For the less savvy users, I'd like to also offer a visible "move" button. When they click this button, the element would be picked up, and when they click again on a drop target, it's dropped. So the same as drag and drop, but started with one click and dropped with another.
I know it would be possible to do this with separate code, but I'd rather not reinvent everything for a slight variation. Is there a way to get jQueryUI to do this?
The only thing I found is calling the trigger method of the draggable, but you have to pass a mousedown event...
Thanks
See my answer on this other question. If you change it so instead of
$("#headerDiv")
.mousedown(function(event) {
x = event.pageX;
y = event.pageY;
$(this).parent().addClass('movable');
})
.mouseup(function() {
$(this).parent().removeClass('movable');
});
bind to click and implement a toggling mechanism to decide if you are beginning the drag (mousedown equivalent) or ending the drag (mouseup equivalent) you should be most of the way there.
I would use .animate to animate the object to its target. I have done this before with a game. For example you could specify top and left coordinates for the element to move to onClick of the button.

Resources