javascript - ドラッグされているときにドラッグ可能から削除する- jquery
1249 次
4 に答える
2
それらがドラッグされると、次のようにクリック ハンドラーを設定してデフォルト アクションを防止します。
ui.draggable.find('a').click(function(e) { e.preventDefault(); });
私が言ったように、ドロップされたイベントでそれを行うのが遅すぎる場合に備えて、ドラッグされたときにそれを行います.
アップデート:
$('.draggable').draggable({
start: function( event, ui ) {
$('#dropdownAddTile').slideDown();
ui.draggable.find('a').click(function(e) {
e.preventDefault();
});
},
stop: function() {
$('#dropdownAddTile').slideUp();
},
containment: '#container',
snap:'.droppable',
snapMode:'inner',
revert:'invalid',
snapTolerance: 32
});
あなたが電話できるようにui.draggable.find('a').click(function(e) { e.preventDefault();
于 2013-03-29T15:11:36.923 に答える
0
この問題は、Chrome、Firefox、または IE10 では発生しませんでしたが、IE9 以前では発生しました。
私のアドバイスはpreventDefault
、イベントに出馬することです。コードを使用して、
function handleDropEvent( event, ui ) {
event.preventDefault();
var draggable = ui.draggable;
var droppable = $(this);
var droppableId = $(this).attr("id");
var draggableId = ui.draggable.attr("id");
$('.draggable').draggable({containment: '#container', snap:'.droppable', snapMode:'inner', revert:'invalid',snapTolerance: 32});
$('.droppable').droppable({drop: handleDropEvent, accept: function(e){if(e.hasClass('draggable')) { if (!$(this).hasClass('occupied')) {return true; }}}});
var initPosit = ui.draggable.parent().attr('id');
$.post("tiles/updateTilePosition", { draggableId:draggableId, droppableId: droppableId }).done(function(data) {
})
$(this).addClass('occupied');
ui.draggable.parent().removeClass('occupied');
if($(ui.draggable).parent() !==$(this)){
$(ui.draggable).appendTo($( this ));
}
}
また、ソース コードを表示すると、すべてがエンコードされています (アポストロフィ、引用符など)。どうしてそうなったのかわかりませんが、修正します。
于 2013-03-29T15:16:35.197 に答える
-1
onclick が false を返すように設定してみてください。
于 2013-03-29T15:06:09.143 に答える
-3
私が正しく理解していれば、リンクをドラッグできないようにしたいだけですか?これを行う:
<a href="#test" draggable="false">Test</a>
これは基本的にドラッグ機能を無効にする方法です.idkなぜ誰もがこれほど長いコードを書くのか....
于 2019-01-22T20:17:22.957 に答える