【发布时间】:2018-09-26 22:04:13
【问题描述】:
我有一个物品清单:
<div class='item' data-itemtype="title">Title</div>
我想放入一个可排序的 div。
<div class="content"></div>
我正在使用此代码:
$( document ).ready( function () {
$( '.item' ).draggable( {
helper: function ( e ) {
return $( '<div>' ).addClass( 'block' ).text( $( e.target ).text() );
},
connectToSortable: ".content",
opacity: .8,
} );
///
$( '.content' ).sortable( {
placeholder: 'block-placeholder',
update: function ( event, ui ) {
// turn the dragged item into a "block"
ui.item.addClass( 'block' );
var itemtype = ui.item.data('itemtype');
alert( 'this: '+itemtype );
}
} );
//
} );
一切正常,但我需要从项目中获取数据属性,以便将其传递给另一个脚本。但是数据属性的结果不断出现“未定义”。我无法弄清楚我做错了什么。感谢您的帮助。
【问题讨论】:
-
欢迎。试试
$(ui.item).data('itemtype')。addClass行也是如此。$(event.currentTarget).data('itemtype')也可能有效。不过对 jQuery UI 不太熟悉。 -
抱歉 - 两者都不起作用。 ui.item.addClass('block');但是确实有效。
标签: jquery jquery-ui jquery-ui-sortable jquery-ui-draggable