我正在尝试使第1项,第2项和第3项可选。
HTML:
<div id="container">
<ul id="outerUL"> //static
<li id="outerLI"> //dynamic
<ul id="innerUL"> //dynamic
<li>Item 1</li> //dynamic
<li>Item 2</li> //dynamic
<li>Item 3</li> //dynamic
</ul>
</li>
</ul>
</div>
jQuery的:
$("#outerUL").delegate('li','click',function(event) {
$(this).selectable();
});
我无法找出错误。
首先交叉检查您是否具有正确的jQuery版本,然后从此处下载
代码问题
$("#outerUL").delegate('li','click',function(event) {
$(this).selectable();
});
就是它 :
$(this).selectable();
仅当您点击li child
下方的时,才会被调用outerUL
。因此,您的第一次单击将不会选择任何元素,而只会使元素选择就绪。
第二个问题是此html代码段中:
<ul id="outerUL"> //static
<li id="outerLI"> //dynamic
<ul id="innerUL"> //dynamic
<li>Item 1</li> //dynamic
<li>Item 2</li> //dynamic
<li>Item 3</li> //dynamic
</ul>
</li>
根据您的JavaScript代码,子元素的每个元素都#outerUL
应该是可选的。因此,第一次#outerUL
单击的任何子项时,$(this).selectable();
将调用语句,这将使该子项成为outerLI
可选项。在随后的单击中,selectable()
将调用jQuery的函数,它将选择完整的outerLI
元素。
我认为这应该可以解决您的问题:
$(function () {
$("#innerUL").selectable();
});
它将仅使#innerUL
可选择的子代成为可能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句