私は似たようなものを探していて、mousedown および mouseup イベントを使用して可能な解決策を見つけました。これは最もエレガントなソリューションではありませんが、Chrome と Firefox の両方で一貫して機能する唯一のソリューションです。
私はあなたのフィドルにいくつかのjavascriptを追加しました:
フィドル
;
(function($) {
// DOM Ready
$(function() {
$('input').on('mousedown', function(e) {
e.stopPropagation();
$('div.parent').attr('draggable', false);
});
$(window).on('mouseup', function(e) {
$('div.parent').attr('draggable', true);
});
/**
* Added the dragstart event handler cause
* firefox wouldn't show the effects otherwise
**/
$('div.parent').on({
'dragstart': function(e) {
e.stopPropagation();
var dt = e.originalEvent.dataTransfer;
if (dt) {
dt.effectAllowed = 'move';
dt.setData('text/html', '');
}
}
});
});
}(jQuery));