【发布时间】:2011-07-23 01:50:18
【问题描述】:
我试图附加到 onclick 和 onchange 事件,但没有取得很大成功。
最终目标是覆盖一个div或一个ul,并显示用户可以点击的选项;这将更改选择框上的选项。可以这样做吗?
我在这里尝试了一些代码。可以在下面找到非工作示例:
http://jsfiddle.net/deostroll/Yed7p/1/
下拉菜单的标记:
<select>
<option value="000">Select A Country</option>
<option value="001">India</option>
<option value="002">Australia</option>
<option value="003">United States Of America</option>
<option value="004">Great Britan</option>
<option value="005">Zimbabwe</option>
<option value="006">Newzeland</option>
</select>
这里是javascript:
$(function(){
$('select').click(function(e){
var ul = document.createElement('ul');
$(this).children().each(function(){
var li = document.createElement('li');
$(li).html($(this).text());
$(li).data("value", $(this).val());
$(ul).append(li);
});
$('body').append(ul);
var cordinates = $(this).offset();
$(ul).offset({top:cordinates.top + 10 + $(this).height(), left:cordinates.left});
$(ul).show('slow');
e.preventDefault();
});
});
这里的问题是,当我单击下拉菜单时,默认情况下会显示选项。我试图阻止这种情况。顺便说一句,我在谷歌浏览器上做所有这些练习。后来我也打算测试其他浏览器。我知道有一些库可以做到这一点,但我只是想知道使用的技术。
【问题讨论】:
标签: javascript jquery html select overlay