English 中文(简体)
Avoid element to get selected when its dropped with jQuery sortable
原标题:

I have a function which let me select a element when its clicked. It goes like this:

$( ul.grid li ).click(function() {
    var input = $(this).find( input.select-state:first );
    var value = input.attr( value );
    if (value ==  0 ) {
        $(this).addClass( active );
        input.attr( value ,  1 );
    } else {
        $(this).removeClass( active );
        input.attr( value ,  0 );
    }
});

When I add jQuery sortable to this, the element that get dropped is immediately selected when I drop it because this function runs. What is the approach to solve this problem?

Thanks!

问题回答

Never used jQuery Sortable, but can you add call to .stopImmediatePropagation() to the function that calls sortable?

You could set a flag on the element when dragging starts, like so:

$(document).ready(function(){
    $( ul.grid ).sortable({
        start: function(event, ui){
            ui.item.data( dragged , true);
        }
    });
});

Then just check for and flip that flag in your click function, like this:

$( ul.grid li ).click(function() {
    if($(this).data( dragged )){
        $(this).data( dragged , false);
    } else {
        var input = $(this).find( input.select-state:first );
        var value = input.attr( value );
        if (value ==  0 ) {
            $(this).addClass( active );
            input.attr( value ,  1 );
        } else {
            $(this).removeClass( active );
            input.attr( value ,  0 );
        }
    }
});




相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签