我使用自定义jQuery进行下拉列表。现在它适用于所有浏览器,除了Mozilla用于下拉列表的键盘上下事件。
我使用以下脚本进行下拉键盘事件。
$(document).ready(function(){
if (!$.browser.opera) {
$('select.selectlistbig').each(function(){
var title = $(this).attr('title');
if( $('option:selected', this).val() != '' ) title = $('option:selected',this).text();
$(this)
.css({'z-index':10,'opacity':0,'-khtml-appearance':'none'})
.after('<span class="selectlistbig">' + title + '</span>')
.change(function(){
var val = $('option:selected',this).text();
$(this).next().text(val);
})
});
$('select.selectlistbig').keypress(function (e) {
if(e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40 )
{
var val = $('option:selected', this).text();
$(this).next().text(val);
}
});
});
帮助我。
谢谢
答案 0 :(得分:0)
e.keyCode在firefox中不起作用。请使用 e.which :
尝试下面的代码$('select.selectlistbig').keypress(function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 37 || code == 38 || code == 39 || code == 40 )
{
var val = $('option:selected', this).text();
$(this).next().text(val);
}
});