首页 > 其他分享 >前端基础之原生js事件绑定案例

前端基础之原生js事件绑定案例

时间:2024-03-21 22:35:55浏览次数:20  
标签:原生 function iEle 绑定 value js getElementById let document

原生js事件绑定

  • 开关灯案例
<script>
<div id="d1" class="c1 bg_green bg_red"></div>
<button id="d2">变色</button>
<script>
    let btnEle = document.getElementById('d2')
    let divEle = document.getElementById('d1')
    btnEle.onclick = function () {  // 绑定点击事件
        // 动态的修改div标签的类属性
        divEle.classList.toggle('bg_red')
    }
</script>
  • input框获取焦点失去焦点案例
<input type="text" value="老板,几位?" id="d1">
<script>
    let iEle = document.getElementById('d1')
    // 获取焦点事件
    iEle.onfocus = function () {
        // 将input框内部值去除
        iEle.value = ''
        // 点value就是获取,等号赋值就是设置值
    }
    // 失去焦点事件
    iEle.onblur = function () {
        // 给input标签重写赋值
        iEle.value = '没钱送客'
    }
</script>
  • 实时展示当前时间
<input type="text" id="d1" style="display: block; height: 50px;width: 200px">
<button id="d2">开始</button>
<button id="d3">结束</button>

<script>
    let t = null
    let inputEle = document.getElementById('d1')
    let startBtnEle = document.getElementById('d2')
    let endBtnEle = document.getElementById('d3')
    // 1.访问页面之后,将访问的时间展示到input框中
    // 2.动态展示当前时间
    // 3.页面上加两个按钮,一个开始一个结束
    function showTime(){
        let currentTime = new Date();
        inputEle.value = currentTime.toLocaleString()
    }
    startBtnEle.onclick = function () {
        // 限制定时器只能开一个
        if (!t) {
              t = setInterval(showTime,1000)  // 每点击一次开始就会开设一个定时器,而t只指代最后一个
        }
    }
    endBtnEle.onclick = function () {
        clearInterval(t)
        // 还应该将t重置为空
        t = null
    }
</script>
  • 省市联动
<body>
<select name="" id="d1">
    <option value="" selected disabled>--请选择--</option>
</select>

<select name="" id="d2"></select>
<script>
    let proEle = document.getElementById('d1')
    let cityEle = document.getElementById('d2')
    // 先模拟省市数据
    data = {
        "安徽省":['合肥','芜湖','马鞍山'],
        "江苏省":['南京','徐州','苏州'],
        "浙江省":['杭州','义乌','宁波'],
        "北京市":['朝阳区','海淀区','昌平区'],
        "上海市":['黄浦区','青浦区','杨浦区']
    };
    // for循环获取省
    for (let key in data){
        // 将省的信息做成一个个option标签,添加到第一个select框中
        // 1.创建option标签
        let opEle = document.createElement('option')
        // 2.设置文本
        opEle.innerText = key
        // 3.设置value
        opEle.value = key  // <option value="省">省</option>
        // 4.将创建好的option标签添加到第一个select中
        proEle.appendChild(opEle)
    }
    // 文本域变化事件  change事件
    proEle.onchange = function () {
        // 先获取到用户选择的省
        let currentPro = proEle.value
        // 获取对应的市信息
        let currentCityList = data[currentPro]
        // 清空市select中所有的option
        cityEle.innerHTML = ''
        // 自己再加一个请选择
        let s = "<option disabled selected>--请选择--</option>"
        cityEle.innerHTML = s
        // for循环所有的市,渲染到第二个select中
        for (let i=0;i<currentCityList.length;i++){
            let currentCity = currentCityList[i]
            // 1.创建option标签
            let opEle = document.createElement('option')
            // 2.设置文本
            opEle.innerText = currentCity
            // 3.设置value
            opEle.value = currentCity
            // 4.将创建好的option标签添加到第一个select中
            cityEle.appendChild(opEle)
        }
    }
</script>
</body>

标签:原生,function,iEle,绑定,value,js,getElementById,let,document
From: https://www.cnblogs.com/xiao01/p/18088381

相关文章

  • JSP语法 《Java Web开发从入门到实战》第三章节
    目录一、JSP页面的基本构成1、普通的HTML标记2、JSP注释(增强JSP文件的可读性,便于Web项目的更新和维护)3、Java脚本元素:声明、Java程序片、Java表达式4、JSP标记:指令标记、动作标记、自定义标记等二、<%%>和<%!%>的不同之处1、翻译不同2、定义不同3、声明不同......
  • 移动端 页面适配 原生js及lib-flexible 插件
    1.js原生;(function(win,doc){change()functionchange(){varremSize=window.innerWidth/7.5||50/*设计稿是以width=750px为基准的*/document.querySelector('html').style.fontSize=(remSize>100?100:remSize)+'px'}......
  • JSP内置对象笔记整理
    JSP内置对象《JavaWeb开发从入门到实战》第四章内置对象:在JSP页面中不需要声明和实例化,可以直接在Java程序片和Java表达式部分使用的对象。分类·:与Input/Output有关的内置对象与Context有关的内置对象与Servlet有关的对象与Error有关的内置对象与Input/Output有关的......
  • 使用JMeter从JSON响应的URL参数中提取特定值
    在使用ApacheJMeter进行API测试时,我们经常需要从JSON格式的响应中提取特定字段的值。这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成。以下是一个具体的例子,展示了如何从一个JSON响应中提取rowId的值,同时处理字符串终止符。假设我们有以下JSON响应:{"flag":......
  • requests.post传的data如果是直接使用python dict封装,有些服务端接收不了这种数据类型
    平时在自己的php项目里,使用dict方式组装data,然后requests.post,一点问题都没有。但是调了后端一个java的微服务接口,结果就一直报错422: 最后问了一下开发,得到提示“python好像还有个毛病,python的json对象转字符串的时候,转出来的字符串不是标准json字符串,还要做个字符串处理,变成......
  • js 异步发展过程
    yieldreturnpromoisenext参数next方法可以带一个参数,该参数就会被当作上一个yield表达式的返回值next01_callbackhellletsayhello=function(name,callback){setTimeout(function(){console.log(name);callback();},1000);};sayhell......
  • js——Date()怎么将获取北京时间的日期,精确到时分秒
    JavaScript的Date对象可以获取本地时间,但不直接支持时区。要获取特定时区的时间,你需要进行时区转换。以下是一个函数,用于获取特定时区(如“Asia/Shanghai”,即北京时间)的当前日期和时间,精确到秒。functiongetBeijingTime(){constbeijing=newDate().toLocaleString('en......
  • 插件-js实现动态时钟效果
    <divid="updatetime"></div>constupdateTime=()=>{varnow=newDate();varyear=now.getFullYear();varmonth=now.getMonth()+1;//getMonth()返回0-11varday=now.getDate();varhours=now.getHour......
  • vue3使用qrcodejs2-fix生成背景透明的二维码
    qrcodejs官方仓库:GitHub-davidshimjs/qrcodejs:Cross-browserQRCodegeneratorforjavascriptqrcodejs2-fix 是一个用于生成QR码的JavaScript库,使用的时候先安装,然后通过设置前景色和背景色可以控制显示的二维码效果。想生成透明背景的二维码也可以,我通过下面配置前景......
  • nodejs 实现 AMD 加载 依赖
    importfsfrom"fs";importpathfrom"path";importvmfrom"vm";exportclassLoadComponent{componentsPath:string=path.resolve("../first/components/");componentName:string="";componentIn......