在焦点上打开一个html选择选项
Opening a html select option on focus
我问了一个关于如何在onfocus()上打开HTML选择标记的选项列表的问题。当时它解决了我的问题,但我错过了一个问题,每次打开html选择选项onfocus
时,下一个选择选项都会消失。
我找不到这个代码出了什么问题。这里有这个问题的链接jsFiddle。
是的,就是这样
var x = "select[tabindex='" + (parseInt($(this).attr('tabindex'),10) + 1) + "']";
$(x).fadeTo(50,0);
做。它们隐藏下一个选择,因为否则它会显示在展开的选择的顶部。
不过,这根本不是一个好的解决方案。相反,我会使用z索引来防止这种情况发生:
$('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');
});
使用类而不是内联样式会更好。但我只是把它当作一个示范。
http://jsfiddle.net/PpTeF/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);
});
});
干杯!!
相关文章:
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何将值传递到上一个html页面
- 一个html元素的克隆次数太多
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 如何在另一个html文件的框架中包含图像
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 我可以共享一个HTML播放器吗
- 如何在一个html页面上使用js进行2次乘法运算
- 访问下一个html页面的静态4位密码
- 如何在JavaScript中将值从一个html页面传递到另一个页面
- 重定向到Angular JS中的另一个HTML页面
- 使用JavaScript打开另一个html页面时传递变量
- 一个html/javascript'小工具'知道用户何时单击了小部件外的任意位置
- 当源文件夹中有多个jade文件时,gulp-ejade只构建一个HTML文件
- JSON编码一个HTML列表——所有子项都显示在所有父项上
- 创建一个HTML文件,该文件使用DOM在用户每次单击按钮时交换两段内容
- 如何在另一个 html 标签内选择 web 元素硒 Web 驱动程序与 html 源
- 创建一个html表单并使用javascript访问中的python脚本
- 构建一个HTML小部件来嵌入付费内容-如何确保与后端的通信安全
- 在我的php模型中用javascript更改一个html类