Opened 6 years ago

Closed 6 years ago

Last modified 4 years ago

#7514 closed bug (notabug)

resizable() triggers a $(window).resize with jQuery 1.6.1

Reported by: slavik524 Owned by:
Priority: minor Milestone: 1.9.0
Component: ui.resizable Version: 1.8.13
Keywords: Cc:
Blocked by: Blocking:

Description

When start resizing a resizable div, $(window).resize fires immediately and continues to trigger until I stop resizing a div. It only behaves this way with jQuery 1.6.1 (all is fine with 1.5.2). Sample code:

<!DOCTYPE html>
<html>
<head>
    <script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
    <script src="js/jquery-ui.js" type="text/javascript"></script>

    <style type="text/css">
        #div1 {
            width: 200px;
            height: 200px;
            top: 100px;
            left: 100px;
            position: relative;
            background: #888;
        }
        .ui-resizable-e {
            width: 12px;
            height: 100%;
            top: 0;
            right: 0;
            position: absolute;
            background: #333;
            cursor: e-resize;
        }
    </style>

    <script type="text/javascript">
        $(function() {
            $("#div1").resizable({ handles: "e" });
            $(window).resize(function() { alert("Window resized"); });
        });
    </script>

</head>
<body>

<div id="div1"></div>

</body>
</html>

Change History (8)

comment:1 Changed 6 years ago by Scott González

Resolution: invalid
Status: newclosed

This is a bug in jQuery core: http://bugs.jquery.com/ticket/9841

comment:2 Changed 6 years ago by brotherli

Can be workarounded with target checking:

$(window).resize(function(e) {
  if (e.target == window)
    /* do your stuff here */;
});

comment:3 Changed 4 years ago by rcoleman

I understand why this and the jQuery core bugs were closed as invalid, but should we not be able to prevent the resize event from bubbling within the Resizable resize event handler? Event.stopPropagation() and returning false have no effect.

comment:4 Changed 4 years ago by Scott González

Event.stopPropagation() and returning false have no effect.

That is certainly not true. Please provide a reduced test case showing this behavior.

comment:5 Changed 4 years ago by Scott González

#8881 is a duplicate of this ticket.

comment:6 Changed 4 years ago by Scott González

#9350 is a duplicate of this ticket.

comment:7 Changed 4 years ago by adriantoine

This issue still occurs even when using event.stopPropagation() and 'return false' on the resize callback: http://jsfiddle.net/Alshten/LXqLz/

Last edited 4 years ago by adriantoine (previous) (diff)

comment:8 Changed 4 years ago by Scott González

There is no propagation to stop inside the callback. The callback occurs *after* the event has propagated.

Note: See TracTickets for help on using tickets.