我有这个功能,但它给了我函数声明需要名称onStop函数
<script type="text/javascript">
jQuery( function($) {
$('#Hnav, #Nnav').NestedSortable(
{
accept: 'sort',
noNestingClass: "no-children",
helperclass: 'helper',
autoScroll: true,
onChange: function(serialized) {
onStop : function(){
$('#output').html($(this).id);
},
nestingPxSpace : '0'
}
);
});
</script>
答案 0 :(得分:4)
在此上下文中,this
指的是onStop
事件发生的DOM元素。 DOM元素不是jQuery对象。
jQuery $(this)
对象没有id
属性,而DOM元素则具有$('#output').html(this.id);
属性。所以,使用:
$('#output').html($(this).attr("id"));
或:
onChange
不要忘记关闭{{1}}处理函数中的括号。
答案 1 :(得分:1)
有一个括号丢失,你使用错误的语法获取id试试这个,
$('#output').html($(this).id);
应该是
$('#output').html(this.id);
或
$('#output').html($(this).attr(id));
jQuery(function($) {
$('#Hnav, #Nnav').NestedSortable({
accept: 'sort',
noNestingClass: "no-children",
helperclass: 'helper',
autoScroll: true,
onChange: function(serialized) {
alert("changed");// Changed to fix
},
onStop: function() {
$('#output').html(this.id);
},
nestingPxSpace: '0'
});
});
答案 2 :(得分:1)
代码中有两个问题,
修改后的代码是,
jQuery( function($) {
$('#Hnav, #Nnav').NestedSortable(
{
accept: 'sort',
noNestingClass: "no-children",
helperclass: 'helper',
autoScroll: true,
onChange: function(serialized) {
//A empty function
},
onStop : function(){
$('#output').html($(this).attr("id"));
},
nestingPxSpace : '0'
}
);
});