support navegadores internet ie6 for compatibilidad jquery jquery-ui safari google-chrome draggable
jQuery 1.5.2

navegadores - jquery internet explorer 11



Integridad de jQuery Safari/Chrome con propiedad de contenciĆ³n arrastrable (7)

Intente reemplazar ''parent'' con un objeto dom ... es decir, $ ("# divParent") y vea si eso funciona.

Este código funciona en Firefox, Internet Explorer, no en Safari / Chrome:

<head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery-ui.js"></script> <script> function newDiv() { var div = $(''<div id="divNew" style="width: 50px; height: 50px; border: solid 1px; background: Red"></div>''); $(''#divParent'').append(div); div.draggable( { containment: ''parent'' }); } </script> </head> <body> <a href="javascript:;" onclick="newDiv()">new div</a> <div id="divParent" style="width: 500px; height: 500px; border: solid 1px;"></div> </body>

En Safari / Chrome, divNew solo se puede mover verticalmente. jQuery esta característica es actualmente incompatible? Estoy usando la versión estable 1.5.2. Se puede encontrar aquí jQuery 1.5.2


Intenta envolver el div divrent con otro div, y luego establecer la contención al div envolviendo divParent mientras lo inyectas en divParent. Esto funcionó para mí:

<script> function newDiv() { var divs = $(unescape(''%3Cdiv class="divNew" style=""%3E&nbsp;%3C/div%3E'')); divs.draggable( { containment: $(''#a'') }); $(''#divParent'').append(divs); } </script> </head> <body> <style> .divNew {width: 50px; height: 50px;border: solid 1px; background: Red;} #divParent {width: 500px; height: 500px; border: solid 1px;}; </style> <a href="javascript:;" onclick="newDiv()">new div</a> <div id="a"> <div id="divParent" style=""> <!--<div class="divNew"></div>--> </div> </div> </body>

EDITAR: Me acabo de dar cuenta de que esto no funciona por completo. Debe incluir un cheque para ver si el navegador está basado en webkit, y luego configurar el contenedor a 1000 px en lugar de 500 px. El error parece estar, obviamente, relacionado con el cálculo del ancho correctamente.


Tuve algún tipo de problema similar, donde los elementos que se podían arrastrar estaban absolutamente posicionados y se posicionaron relativamente en Chrome y Safari. Agregando! Importante para la posición de estilo: absoluto hizo el truco.


El método Jquery UI Draggable no funcionará en el entorno Safari y MAC OS X de ninguna manera. Entonces, cuando escriba el código considere lo mismo que:

if(!($browser.safari && navigator.appVersion.indexOf(''Mac'')!= -1)) { $(''div.urid'').draggable({ helper: ''clone'', opacity: 0.4 }); }

Cuando implemente los drag y drop, considere lo mismo ...


anjalis tenía razón,

position: absolute !important;

funcionó perfectamente para mí Estaba teniendo un pequeño problema con el elemento arrastrable que salía ligeramente del contenedor cuando lo soltaba y hacía clic en el elemento. compensaría levemente. con position: absolute !important y la position: relative; elemento padre position: relative; Funcionó a las mil maravillas.


Para resolver este problema, debe definir WMODE diferente a transparente. Acabo de configurar la ventana wmode = y esto funciona bien en todos los navegadores.


la solución que encontré es establecer la position: absolute !important del elemento position: absolute !important , :))