-1

我在这里看到了很多关于这个问题的帖子,但我不能很快把它弄好。

我正在尝试使用自定义图像设置选择框的样式。我设置它的方式是设置opacity:0;选择框,在其后面设置一个带有背景图像的 div,并使用 javascript 在 div 中设置当前选定的值。我让它在 Firefox、Chrome 和 Safari 中运行,但在 IE 中没有运气。

示例 1:不透明度 = 0,div 没有背景图像。事件触发,但什么都看不到。

示例 2:不透明度 = 0,div 有我的背景图片。在 Firefox、Chrome 和 Safari 中完美运行,但在 IE 中无法运行。

示例 3:不透明度 = 1,div 没有背景图像。事件不会触发,并且似乎不存在正常的选择行为。

示例 4:不透明度 = 1,div 有我的背景图片。事件不会触发,并且似乎不存在正常的选择行为。

注意:我从示例 3 和 4 中删除了 opacity:1 并且仍然得到相同的行为。我还在选择框上使用 50 的 z-index 并在 div 上使用 0 的 z-index 以确保它们显示在选择的后面。然而,相反的似乎并没有提供不同的行为。

作为记录,我尝试了 .click、.change、.live("click") .live("change") .live("click change")、.on("click")、.on("change" ) .on("click change") 在我的示例 #2 中,就在 4 个浏览器中进行测试而言。我的最终问题是为什么示例 2 在 ie 中不起作用。次要问题是不透明度及其对选择框的影响是什么?我假设一些外观:没有我在那里,但我仍然不明白为什么不透明度对它很重要。如果您需要我发布我可以的实际代码。但是你应该可以通过我提供的测试页面看到 javascript 和 css。

4

1 回答 1

1

您应该嵌套类似于

<div class="styled-dropdown-container">
     <select>...</select>
</div>

然后,您可以click.styled-dropdown-container. 事件将从下拉列表中正确传播(冒泡),并且当用户手动关注您的输入时也会模拟(即通过切换到它)

于 2012-05-24T22:07:54.327 回答