Jquery 在初始化后禁用可选择的子级
我看不出这怎么会不起作用,但这是我的问题 我在一个页面上有一系列可选择的组-每个组都是表中的一行,td中的div是可选择的。并非所有td都包含一个可选择的选项-这由“忽略”类的存在表示。一个灯箱打开,然后需要将其中一个可选组中的几个孩子作为目标,并在灯箱关闭时禁用他们在其组中的可选性 我有这个html(它是一个片段,但准确): 然后,在lightbox中,我正在执行以下操作以尝试禁用相关的selectables selected children:Jquery 在初始化后禁用可选择的子级,jquery,jquery-ui,jquery-ui-selectable,Jquery,Jquery Ui,Jquery Ui Selectable,我看不出这怎么会不起作用,但这是我的问题 我在一个页面上有一系列可选择的组-每个组都是表中的一行,td中的div是可选择的。并非所有td都包含一个可选择的选项-这由“忽略”类的存在表示。一个灯箱打开,然后需要将其中一个可选组中的几个孩子作为目标,并在灯箱关闭时禁用他们在其组中的可选性 我有这个html(它是一个片段,但准确): 然后,在lightbox中,我正在执行以下操作以尝试禁用相关的selectables selected children: parent.$('#row_17 td di
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('selectable');
parent.$('#row_17 td div[data-date=2012-10-22]').addClass('ignore');
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('green');
parent.$('#row_17 td div[data-date=2012-10-22]').addClass('amber');
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('ui-selected');
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('ui-selectee');
(添加“琥珀色”类别和删除“绿色”纯粹改变颜色)
不管怎样,它们仍然是可选择的,颜色确实会发生变化,如果我检查它,所有的类都会被添加和删除,但你仍然可以选择它
我尝试在最后一块末尾添加以下内容:
parent.$('#row_17 td div[data-date=2012-10-22]').selectable('disable');
但这会导致错误,并告诉我“在初始化之前无法调用Selective上的方法;试图调用方法‘disable’”
有人有什么想法吗?在新的jQueryUI站点中,缺少上下文和示例,这让我非常头疼
谢谢。请尝试使用.ready(),这将等待文档准备就绪,DOM加载并可以操作
$(document).ready(function() {
parent.$('#row_17 td div[data-date=2012-10-22]').selectable('disable');
});
试试这个
parent.$('#row_17').selectable('option','cancel','td div[data-date=2012-10-22]');
DOM已经准备好了,该代码位于页面底部(在浏览器组装DOM后遇到),并封装在
$(document).ready()
等效文件中。是的,它位于底部,因此绝对是初始化的。如果有帮助的话,我已经注意到,如果没有最后一行,我所做的会阻止您在拖动中选择子对象,但是您仍然可以单击它们来选择它们。这有什么意义吗?!刚刚尝试过这个,但它仍然允许您单独单击它们并选择它们,但如果您拖动一个包含它们的框,它们将不会选择。谢谢你。
$(document).ready(function() {
parent.$('#row_17 td div[data-date=2012-10-22]').selectable('disable');
});
parent.$('#row_17').selectable('option','cancel','td div[data-date=2012-10-22]');
$(document).ready(function() {
parent.$('#row_17 td [div*="2012-10-22"').selectable('disable');
});