单击“Ctrl”时出现.draggable更改消息

时间:2011-08-04 15:45:41

标签: jquery user-interface

我想在点击 Ctrl

时显示(并更改)消息“复制”或“移动”

的javascript:

$('.draggable').draggable({ 
    revert: 'invalid',
    cursor: 'move',

    helper: function(event) {
        return $( '<div>'+$(this).text()+'<div class="ui-widget-header"></div>' );
    },              
    start: function(event) {
        if(event.ctrlKey) {
            $('.ui-widget-header').text('copy');
        } else {
            $('.ui-widget-header').text('move');
        }
    },      
    drag: function(event) {
        if(event.ctrlKey) {
            $('.ui-widget-header').text('copy');
        } else {
            $('.ui-widget-header').text('move');
        }
    },
    stop: function(event) {
        if(event.ctrlKey) {
            $('.ui-widget-header').text('copy');
        } else {
            $('.ui-widget-header').text('move');
        }
    }       
});

这个脚本正在工作,而我正在拖延。 但是,如果我开始或停止拖延,它就不是。

  1. 鼠标单击.draggable,然后单击 Ctrl 。 ---&GT;它不起作用。
  2. 鼠标拖动,然后单击 Ctrl 。 ---&GT;它正在发挥作用。
  3. 鼠标拖动并停止,然后单击 Ctrl 。 ---&GT;它不起作用。
  4. 这是可放置的

    $('.show_twitterlist').droppable({
    
        hoverClass: "ui-state-hover",       
        drop: function(event, ui) {         
    
            if(event.ctrlKey) {
                intype = 'copy';
                ui.helper.html('<div>'+ui.draggable.text()+'<div class="ui-widget-header">copy</div>');
            } else {
                intype = 'moveto';
                ui.helper.html('<div>'+ui.draggable.text()+'<div class="ui-widget-header">move</div>');
            }
    
            ...
        }
    });
    

    有人能给我一些想法吗? 谢谢你的帮助。

0 个答案:

没有答案