我需要在jQuery中创建交叉浏览器风格的标记。所以,而不是使干净的HTML SELECT元素标签,我使用嵌套元素。页面上会有很多可用的选择框,因此它们应该彼此正确地工作。在多个元素之外单击时隐藏
编辑:淡入效果 “淡入()/淡出()” 应当被用来代替 “隐藏()/显示()”
介绍一个例子:
代替具有经典下拉列表中的清洁html元素:
<select>
<option>Option 1</option>
<option>Option 1</option>
<option>Option 1</option>
</select>
我有嵌套的元素,所以我可以适当他们的风格:
<div class="gui-selectbox">
<a class="gui-selectbox-button">
<span class="gui-btn-l"></span>
<span class="gui-btn-c">Option 1</span>
<span class="gui-btn-r"></span>
</a>
<div class="gui-selectbox-dialog">
<ul>
<li>Option 1</li>
<li>Option 2</li>
<li>Option 3</li>
<ul>
</div>
</div>
下面是代码:http://jsfiddle.net/aspirinemaga/XR4Y3/
应该以这种方式工作:
- 当我的任何元素上点击,它应该关闭所有selectboxes
- 当我点击在“.gui-selectbox-button”上,它应该显示“.gui-selectbox-dialog”其父“.gui-selectbox”
- 如果用户cli “.gui-选择框按钮”和“.gui-选择框,对话框”之外中正,它应该关闭每个打开的selectboxes
更新:
我怎么能告诉工作以不关闭如果当前目标是它的孩子,父母div?
这里是一个例子:http://jsfiddle.net/aspirinemaga/ejyRR/5/。这是第三个因素。
是'href =“选择框按钮”'假设是'class =“选择框按钮”'? – 2012-01-06 15:13:20
我让你工作JSfiddle:http://jsfiddle.net/XR4Y3/5/ – Jules 2012-01-06 15:37:05