Onclick属性与jqueryui拖放冲突

时间:2014-06-18 04:30:46

标签: javascript jquery asp.net jquery-ui onclick

我有一个带有两个操作的html控件: 1-它有一个Onclick功能,当Onclick发生一个asp.net回发触发器和一个用于编辑打开的模态框。 2-当我使用jquery ui Drag and Drop将它从一个html容器拖到另一个html容器时,我希望onclick不会发生并且只会掉到另一个容器中。

我该怎么做?当我想点击拖动我的控件时,onclick函数调用:(

这是我的html控件:

<div class="fc-event fc-event-hori fc-event-draggable fc-event-start fc-event-end event-blue ui-draggable" onclick="CallPostBack('2|NoDate|4');" style="position: relative;"><div class="fc-event-inner"><span class="fc-event-title">aaa</span></div></div>

这是我的CallPostBack Javascript函数:

function CallPostBack(eventArguments) {
    __doPostBack('<%=ctl1.UniqueID %>', eventArguments);
}

这是我拖动和移动的功能:

  function setMovableEvents() {
    //alert('drag');

    return $(".fc-event").each(function () {
        return $(this).draggable({
            zIndex: 999,
            revert: false,

        });
    });
}

2 个答案:

答案 0 :(得分:0)

我建议你使用mouseup而不是点击你的jquery:

$('.fc-event').mouseup(function(){
    ...
});

答案 1 :(得分:0)

最后我可以通过更改来解决我的问题我的可移动功能:

  function setMovableEvents() {
    //alert('drag');

    return $(".fc-event").each(function () {
        return $(this).draggable({
            zIndex: 999,
            revert: false,
            start: function (event, ui) {
                Moving = true;
                $(this).css('z-index', 100000);
                $(this).prop('onclick', '');
            },
            stop: function () {
                Moving = false;
            }
        });
    });
}

现在当拖动发生时,我清除Onclick以防止点击单击javascript函数。