我曾问过一个关于如何在 onfocus() 上打开 HTML 选择标签的选项列表的问题。那时它解决了我的问题,但我错过了一个问题,每次打开 html 选择选项时,onfocus
下一个选择选项都会消失。
我找不到这段代码出了什么问题。这是那个有问题的问题 jsFiddle的链接。
我曾问过一个关于如何在 onfocus() 上打开 HTML 选择标签的选项列表的问题。那时它解决了我的问题,但我错过了一个问题,每次打开 html 选择选项时,onfocus
下一个选择选项都会消失。
我找不到这段代码出了什么问题。这是那个有问题的问题 jsFiddle的链接。
是的,这就是线条
var x = "select[tabindex='" + (parseInt($(this).attr('tabindex'),10) + 1) + "']";
$(x).fadeTo(50,0);
做。他们隐藏了下一个选择,否则它会显示在展开的选择之上。
不过,这根本不是一个好的解决方案。相反,我会使用 z-index 来防止这种情况发生:
$('select').focus(function(){
$(this).attr("size",$(this).attr("expandto")).css('z-index',2);
});
$('select').blur(function(){
$(this).attr("size",1).css('z-index','1');
});
$('select').change(function(){
$(this).attr("size",1).css('z-index','1');
});
使用类而不是内联样式会更好。但我只是把它用作演示。
只需注释掉 fadeTo 函数。检查这个http://jsfiddle.net/PpTeF/2/
$(document).ready(function(){
$('select').focus(function(){
$(this).attr("size",$(this).attr("expandto"));
var x = "select[tabindex='" + (parseInt($(this).attr('tabindex'),10) + 1) + "']";
//$(x).fadeTo(50,0);
});
$('select').blur(function(){
$(this).attr("size",1);
var x = "select[tabindex='" + (parseInt($(this).attr('tabindex'),10) + 1) + "']";
//$(x).fadeTo('fast',1.0);
});
$('select').change(function(){
$(this).attr("size",1);
var x = "select[tabindex='" + (parseInt($(this).attr('tabindex'),10) + 1) + "']";
//$(x).fadeTo('fast',1.0);
});
});
干杯!!