【发布时间】:2018-06-14 07:26:24
【问题描述】:
我有一个关于 jQuery UI 可选的奇怪错误。如果我在可选容器中使用变换(缩放 + 平移),则套索似乎不适合选择对象。从视觉上看,套索完美无缺!
这是我的编码示例:Fiddle
工作案例:
不工作的情况:
显然这是 jQuery UI 的一个限制,它忽略了 offset() 等函数中的 CSS 转换。在 jQuery UI 中,我找到了用于选择项目的计算部分,但我似乎无法以正确的方式对其进行调整:
_create: function() {
var that = this;
this._addClass( "ui-selectable" );
this.dragged = false;
// Cache selectee children based on filter
this.refresh = function() {
that.elementPos = $( that.element[ 0 ] ).offset();
that.selectees = $( that.options.filter, that.element[ 0 ] );
that._addClass( that.selectees, "ui-selectee" );
that.selectees.each( function() {
var $this = $( this ),
selecteeOffset = $this.offset(),
pos = {
left: selecteeOffset.left - that.elementPos.left,
top: selecteeOffset.top - that.elementPos.top
};
$.data( this, "selectable-item", {
element: this,
$element: $this,
left: pos.left,
top: pos.top,
right: pos.left + $this.outerWidth(),
bottom: pos.top + $this.outerHeight(),
startselected: false,
selected: $this.hasClass( "ui-selected" ),
selecting: $this.hasClass( "ui-selecting" ),
unselecting: $this.hasClass( "ui-unselecting" )
} );
} );
};
this.refresh();
this._mouseInit();
this.helper = $( "<div>" );
this._addClass( this.helper, "ui-selectable-helper" );
},
以前有人遇到过这个问题吗?是否有已知的修复、解决方法或核心调整?
【问题讨论】:
-
没有人知道如何解决它?
标签: jquery jquery-ui css-transforms jquery-ui-selectable