单击可拖动对象时无法隐藏弹出窗口

时间:2012-01-17 05:19:02

标签: javascript jquery html draggable

所以这是我的小提琴

http://jsfiddle.net/C4CcA/4/

问题是当我点击div2时我无法隐藏黄色弹出窗口(因为它是可拖动的)。如果我能抓住点击div2时触发的事件会好得多。

有什么解决方法吗?

3 个答案:

答案 0 :(得分:0)

添加此

$("#div2").draggable().click(function(ev) {
    if (ev.target === this) {
        $(this).focus();
    }
});

否则您可以使用delegateon

答案 1 :(得分:0)

一项小工作

$(function(){
    $("#div2").draggable();

    $("#txtbox").click(function(event){
        event.stopPropagation();
        $("#colorpicker").show();
    });

    $("#txtbox").blur(function(){
        $("#colorpicker").hide();
    });

    $('#div2').click(function() {
       $("#colorpicker").hide();
    });
});

当你点击文本框时,我只是停止传播到div2。否则它会再次隐藏颜色框。

答案 2 :(得分:0)

我设法用mouseDown事件

做到了
$("#div2").mousedown(function() {
    $("#colorpicker").hide();
    $("#txtbox").blur();
});

小提琴在这里 - http://jsfiddle.net/C4CcA/19/