Draggable and Clickable input element using jquery

前端 未结 4 1036
抹茶落季
抹茶落季 2021-01-06 17:44

I have an input element inside a draggable div. My code should do the following things:

  • When I drag my input element, entire draggable div should be dragged. (
4条回答
  •  醉酒成梦
    2021-01-06 18:23

    You could dispatch event, e.g:

    -DEMO-

    $(".draggable").draggable({
        start: function (event, ui) {
            $(this).data('preventBehaviour', true);
        }
    });
    $(".draggable :input").on('mousedown', function (e) {
        var mdown = document.createEvent("MouseEvents");
        mdown.initMouseEvent("mousedown", false, true, window, 0, e.screenX, e.screenY, e.clientX, e.clientY, true, false, false, true, 0, null);
        $(this).closest('.draggable')[0].dispatchEvent(mdown);
    }).on('click', function (e) {
        var $draggable = $(this).closest('.draggable');
        if ($draggable.data("preventBehaviour")) {
            e.preventDefault();
            $draggable.data("preventBehaviour", false)
        }
    });
    

提交回复
热议问题