scripty (scriptaculous) draggable onEnd не выполняется в Safari


0

Я создал очень элемент слайдера iphone-y, который ограничен общим движением по горизонтали (0-400 пикселей и не перемещается вертикально) и «привязывается» к любой стороне из 400px «контейнера», когда он прошел отметку 200px и закончилось перетаскивание. Он отлично работает в firefox. В Safari функция onEnd, которая позиционирует элемент к концу этого 400px-контейнера, никогда не вызывается. Более того, перетаскиваемый элемент «прилипает» к курсору мыши, и мне нужно перезагрузить страницу, чтобы завершить анимацию.

Вот мой код

<div style="width:100px;height: 60px;background-color:#000;z-index:999" id="dragtest" /> 
<script language="JavaScript" type="text/javascript"> 
new Draggable('dragtest', { constraint: 'horizontal', 
    onEnd: function(e, me) { 
     console.debug("!!!") 
     element = e.element 
     x = element.style.left 
     x = x.gsub('px','') 

     if (x >= 200) { 
      $('dragtest').style.left = 400+'px'; 

     } 

     if (x < 200) { 
      $('dragtest').style.left = 0+'px'; 
     } 

     console.debug("Snapping to ", element.style.left, " (x was ", x, ")") 
     return true; 

    }, 
    snap: function(x, y) { 
     ret_x = x 
     ret_y = y 

     if (x >= 400) { 
      ret_x = 400 
     } 

     if (x <= 0) { 
      ret_x = 0 
     } 

     return [ret_x,ret_y] 

    } 
}); 
</script> 

спасибо! andrew

  0

Файл с ошибкой http://bugs.webkit.org: D 22 фев. 092009-02-22 23:19:55

0

Для вашей будущей ссылки (не может ничего сделать из этого Google), uncommenting вызовы console.debug() из обработчика onEnd разрешили это. Weird.

  0

Вы хотите сказать, комментируя console.debug()? Если вы используете firebug, зайдите на их сайт и обязательно используйте их файл заглушки, который определяет такие функции, как «console.debug()», так что firebug браузеров/w-out не взорвется. 25 фев. 092009-02-25 17:27:49

  0

Спасибо, у меня был firebug-lite, загруженный, хотя .. 28 фев. 092009-02-28 03:01:37