html点击下拉框无反应,js模拟点击select,但是没有弹出下拉框。
实在是找不到很好的解决方法了,于是利用列表和js来模拟select了。
代码如下,如果有更好的方法请告诉我一声,谢谢。
Document
body {
display: flex;
flex-direction: column;
}
li {
list-style: none;
cursor: pointer;
border: 1px solid red;
display: none;
}
li:first-child {
display: block;
}
- 请选择
- 2
- 3
- 4
- 请选择
- 2
- 3
- 4
let select = document.getElementById('select');
select.addEventListener('click',(e)=>{
if(e.target.tagName == 'LI'){
let parentNode = e.target.parentNode;
let broderNodes = e.target.parentNode.childNodes;
let childrenNodes = e.target.parentNode.parentNode.childNodes;
let list = [];
for(let i in childrenNodes){
if([].indexOf.call(childrenNodes,childrenNodes[i])%2 == 1){
list.push(childrenNodes[i])
}
}
if([].indexOf.call(broderNodes,e.target) == 1){
if(broderNodes[3].style.display == 'block'){
for (let i in list){
if(e.target.parentNode != list[i]){
list[i].style.display = 'block';
}else{
let nodes = list[i].childNodes;
for(let j in nodes){
if([].indexOf.call(nodes,nodes[j]) == 1){
nodes[j].innerHTML = e.target.innerHTML;
}else if([].indexOf.call(nodes,nodes[j])%2 == 1){
nodes[j].style.display = 'none';
}
}
}
}
}else{
for (let i in list){
if(e.target.parentNode != list[i]){
list[i].style.display = 'none';
}else{
let nodes = list[i].childNodes;
for(let j in nodes){
if([].indexOf.call(nodes,nodes[j])%2 == 1){
nodes[j].style.display = 'block';
}
}
}
}
}
}else{
for (let i in list){
if(e.target.parentNode != list[i]){
list[i].style.display = 'block';
}else{
let nodes = list[i].childNodes;
for(let j in nodes){
if([].indexOf.call(nodes,nodes[j]) == 1){
nodes[j].innerHTML = e.target.innerHTML;
}else if([].indexOf.call(nodes,nodes[j])%2 == 1){
nodes[j].style.display = 'none';
}
}
}
}
}
}
})
html点击下拉框无反应,js模拟点击select,但是没有弹出下拉框。相关推荐
- java 实现文件下载保存框_Java开发网 - 任何类型的文件下载时都会弹出文件保存框的实现(原创)...
于 2002-12-12 11:09 :):):)任何类型的文件下载时都会弹出文件保存框的实现:(:(:( 简介: 从事WEB程序设计的朋友一定都遇到过这种情况吧,对于一些操作系统可以识别的文件类型如 ...
- 案例:文件下载需求:1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载||中文文件问题
文件下载需求: 1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载 * 分析: 1. 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示 ...
- php 消息对话框弹出,php弹窗代码_php弹出消息提示框的二种方法
摘要 腾兴网为您分享:php弹出消息提示框的二种方法,优衣库,新浪博客,万师傅,顺丰等软件知识,以及符号,甘肃农商银行,彗星小,kindle人社区,广东省公务用车管理,宝鸡在线,火影忍者英文版,寂静岭 ...
- html 弹出复选框,js点击文本框弹出可选择的checkbox复选框
本文分享一段代码实例,它能够点击文本框的时候,能够弹出下拉的checkbox复选框,选中复选框就能够将值写入文本框中,可能在实际应用中的效果没有这么直白简单,不过可以作为一个例子演示,以便于学习者理解 ...
- 点击登录按钮,弹出一个登录框
点击登录按钮,弹出一个登录框 首先将登录框写在一个div块里,里面放上登录框所需的各种信息,比如用户名.密码等,并将CSS样式里的display设置成none.然后在你的前端页面,比如index.ht ...
- 弹出 文件 选择 html代码,HTML+CSS点击按钮弹出文件选择框的最佳方案
网页设计中,对于文件选择框(HTML的file标签),出于美观或者体验等等的原因,我们对他的默认外观并不满意,我们可能希望点击一个按钮直接弹出文件选择框,这个很多人认为很简单,但是由于浏览器兼容的原因 ...
- 无界微前端(wujie):element-ui 弹框内使用select组件,弹出框位置异常解决方案
element-ui 弹框内使用select组件,弹出框位置异常解决方案 只需三步,第一步: 将子应用将 body 设置为 position: relative 第二步: 在子应用的html上设置个 ...
- C# 点击按钮弹出文件选择框
点击按钮弹出文件选择框: // 文件选取 这里只允许txt文件private void button1_Click(object sender, EventArgs e){OpenFileDialog ...
- Ubuntu下搜狗拼音输入法在不同窗口切换后总弹出拼音状态框的问题
现象: qt程序在Ubuntu下打开窗口,搜狗拼音输入法在不同窗口切换后总弹出状态框的问题,很是烦人! 解决办法: 1.右上角右键进入配置当前输入法(搜狗): 2.全局配置>>显示高级选项 ...
最新文章
- 波士顿房价预测学习项目笔记
- 应用PlanAhead 进行布局规划
- grads 相关系数_基于小波变换的多聚焦图像融合算法
- 【时间序列】使用 Auto-TS 自动化时间序列预测
- Qt学习笔记之事件处理
- 前端学习(1854)vue之电商管理系统电商系统之安装mysql
- Storm环境搭建(分布式集群)
- 脏牛Linux本地提权漏洞复现(CVE-2016-5195、Linux、Android、提权)
- Map与WeakMap
- ompparticles.cpp:(.text+0x322): undefined reference to `omp_set_num_threads'
- 【ANDROID游戏开发二十六】追加简述SURFACEVIEW 与 GLSURFACEVIEW效率!
- 惠普找不到远程服务器,找不到网络打印机是怎么回事?
- 第六届北大CIO班结业暨SOA与BPM论坛成功举办
- linux安装intel无线网卡驱动,CentOS 命令行安装intel 2200bg无线网卡驱动
- 手把手教你用jQuery Mobile做相册
- 菜鸟关于SpringBoot配置MinIo的一些疑惑问题的记录
- HTML(Basic) Chapter4(Pink) 综合案例小米商城产品模块
- Java调用第三方http接口 单点登录 HttpClient
- 爬取大众点评数据的血泪史
- ID 220970.1-- RAC: Frequently Asked Questions
热门文章
- python读取文件列表并排序
- 斜挎包长度到哪里合适_斜挎包怎么背好看 注意这些法则
- 欢迎大家加入发际线保护协会
- css 在div左上角添加类似书签的标记
- 华为鸿蒙11公测版,EMUI 11首批公测升级机型 鸿蒙OS2.0已开启公共接口
- android+高仿视频录制,Android高仿微信拍照控件,实战推荐!
- [BZOJ]2460: [BeiJing2011]元素 线性基+贪心
- 投诉拼多多会有啥影响吗?卖家该怎么办?
- 《直播从零开始》SRS 安装与部署RTMP服务
- 区块链干什么的?链改又是啥?