jquery draggable get its content JS fired twice

2019-08-04 09:31发布

I noticed the first time you drag it around and then cancel the dragging, the js in the dragged item will fire another time, after that, everything seems normal, any idea?

2条回答
神经病院院长
2楼-- · 2019-08-04 10:08

I found the answer on the jquery ui forum!

update is firing twice because 2 lists are being update (the original, and the list it moves to). so, you can either you the receive: option or in your update you can add: this check:

if (this === ui.item.parent()[0]) {
    //do your stuff here
}

here's the thread on the jquery forum: http://forum.jquery.com/topic/sortables-update-callback-and-connectwith

查看更多
在下西门庆
3楼-- · 2019-08-04 10:09

Correction, it's actually sortable not draggable.

<ul id='test'>
  <li>
    <div>
        item1
        <script type='text/javascript'>
          alert(0);
        </script>
     </div>
   </li>
   <li>
     item2
   </li>
 </ul>    
<script type = 'text/javascript'>
  $('#test').sortable({revert: true});
</script>

in the above example you will get two alert(0) popup which is undesired in my application.

查看更多
登录 后发表回答