首页 > 其他分享 >【Web】0基础学Web—鼠标事件、键盘事件、表单事件、元素距离、元素位置

【Web】0基础学Web—鼠标事件、键盘事件、表单事件、元素距离、元素位置

时间:2025-01-10 16:33:13浏览次数:3  
标签:Web document console log 元素 键盘 事件 outter event

0基础学Web—鼠标事件、键盘事件、表单事件、元素距离、元素位置

鼠标事件

双击

onclick ondblclick

鼠标悬浮与鼠标离开

onmouseover  onm ouseout  // 会发生冒泡
onmouseenter  onm ouseleave  // 不会发生冒泡

鼠标按下与弹起(监听左右键和滚轮)

onmouseup, onm ousedown

键盘事件

键盘按下

onkeydown

键盘长按

onkeypress

键盘弹起

onkeyup

表单事件

表单数据改变后,失去焦点时触发

onchange

失去焦点触发

onblur

获得焦点触发

onfocus

输入时触发

oninput

示例

<body>
    用户名: <input type="text" name="user"> <br>
    密码: <input type="password" name="pwd" onkeydown="login(event)"> <br>
    <input type="button" value="登录" onclick="login(event)">
    <script>
        document.onmousedown = function (event) {
            console.log('鼠标摁下', event.button)
        }
        document.onmouseup = function () {
            console.log('鼠标弹起')
        }

        document.oncontextmenu = function () {
            console.log('右键菜单')
        }

        document.onkeydown = function (event) {
            console.log('键盘摁下', event.keyCode)
        }
        document.onkeypress = function (event) {
            console.log('键盘一直摁', event.keyCode)
        }
        document.onkeyup = function (event) {
            console.log('键盘弹起')
        }

        //回车触发
        function login(event) {
            console.log(event.keyCode)
            if (event.keyCode == 13 || event.keyCode == undefined) {
                alert('登录成功')
            }
        }
    </script>
</body>

表单事件示例

<body>
    <input type="text" class="search" placeholder="洗衣液">搜索
    <script>
        let _search = document.querySelector('.search')
        _search.addEventListener('focus',()=>{
            _search.placeholder = ''
        })

        _search.addEventListener('blur',()=>{
        _search.placeholder = '洗衣液'
        })
    </script>
</body>

元素距离

<style>
    .outter {
        width: 200px;
        height: 300px;
        border: 5px solid black;
        padding: 5px;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: auto;
    }
</style>



<body>
    <div class="outter">
        <img src="images/tou01.jpg" alt="">
        <img src="images/tou02.jpg" alt="">
        <img src="images/tou03.jpg" alt="">
        <img src="images/tou04.jpg" alt="">
    </div>
    <script>
        let _outter = document.querySelector('.outter')
        let _img = document.querySelectorAll('img')[1]
        // 通过js设置的样式为行内样式,.style也只能获取行内样式

        //可以通过js提供的先关距离属性获取

        //clientWidth=内容宽度+padding宽高
        console.log(_outter.clientWidth, _outter.clientHeight)
        //offsetWidth=整个控件的宽度
        console.log(_outter.offsetWidth, _outter.offsetHeight)


        _outter.onscroll = function () {
            //获取元素的滚动距离
            // console.log(_outter.scrollTop,_outter.scrollLeft)
            //获取元素距离父元素的顶部的高度,不受滚动条影响
            console.log(_img.scrollHeight)
        }
    </script>
</body>

元素位置

如果祖先元素有定位,相对最近的定位的祖先元素的偏移量
如果祖先元素没有定位,相对于浏览器的偏移量

<style>
    .outter {
        width: 200px;
        height: 200px;
        background-color: #d7baba;
        margin-left: 10px;
        position: relative;
        overflow: hidden;
    }
    .inner {
        width: 100px;
        height: 100px;
        background-color: #bd0e0e;
        margin: 50px auto;
    }
</style>




<body>
    <div class="outter">
        <div class="inner"></div>
    </div>
    <script>
        let _outter = document.querySelector('.outter')
        let _inner = document.querySelector('.inner')
        console.log(_inner.offsetLeft, _inner.offsetTop)
    </script>
</body>

标签:Web,document,console,log,元素,键盘,事件,outter,event
From: https://blog.csdn.net/2201_75539182/article/details/144893540

相关文章

  • 【Web】0基础学Web—节点操作、发表神评妙论、事件添加和移除、事件冒泡和事件捕获
    0基础学Web—节点操作、发表神评妙论、事件添加和移除、事件冒泡和事件捕获节点操作创建节点末尾追加子节点插入节点将一个节点插入到一个父元素的最前面删除节点替换节点发表神评妙论案例cssbodyjs事件添加和移除事件监听事件冒泡和捕获节点操作创建节点<script......
  • 代码随想论算法训练营第3天 | 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表
    一、刷题部分1.1链表理论基础原文链接:代码随想录题目链接:......
  • 【Web】0基础学Web—事件对象、事件委托(事件代理)——星级评论案例
    0基础学Web—事件对象、事件委托(事件代理)——星级评论案例事件对象关闭鼠标右键的点击事件关闭鼠标滚轮的事件点击的目标对象点击鼠标的左键0滚轮1右键2获得被点击的节点的名称或取相对于浏览器左上角的距离(会受页面滚动条的影响)获取相对于文档左上角的距离(不受滚动条......
  • streamlit实现聊天机器人应用,掌握使用Python构建好看web的页面
     第一个可视化的大模型应用。实现一个带有可视化界面的聊天机器人应用,可以将我们之前实现的聊天机器人转化为一个更加直观、用户友好的,我们的第一个可视化的大模型应用。通过使用Streamlit,我们借助st.columns、st.container、st.chat_input和st.chatmessage等streamlitAPl......
  • 详解SonarQube Web API的使用方法以及典型应用场景(内附python代码)
    SonarQubeWebAPISonarQube的WebAPI是一组HTTPRESTAPI,允许开发人员与SonarQube服务器进行交互。这些API涵盖了SonarQube的各个方面,包括项目管理、问题管理、质量规则和指标等。我们可以在SonarQube的帮助菜单中查看相关使用信息,如下图所示:典型应用场景SonarQubeAPI可......
  • LeetCode算法题:删除排序链表中的重复元素
    题目描述下面是给定的一段代码 /***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val......
  • Web安全攻防入门教程——hvv行动详解
    Web安全攻防入门教程Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。本教程将带......
  • Web安全攻防入门教程——hvv行动详解
    Web安全攻防入门教程Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。本教程将带你......
  • SD WebUI必备插件安装,菜鸟轻松成高手!
    一个刚学AI绘画的小菜鸟怎么快速成为StableDiffusionde的高手?答案就是SD插件,只要学会使用SD的各种插件,帮你写正向和负向提示词,修复人脸/身体/手指,高清放大图片,指定人物pose,图片微调等等都可以轻松搞定,善用插件是成为高手必经之路。目录1插件安装方法2基础插件介绍3......
  • 【Mac实践Docker】使用Nginx部署Web应用
    Nginx部署Web应用学习资料参考一、安装Docker下载DockerDesktop:启动Docker:验证安装:macOS命令行工具Docker命令二、使用Nginx部署Web应用拉取Nginx镜像创建挂载目录创建容器并挂载目录创建并启动容器:复制配置文件到宿主机:删除容器并重新启动:重新启动容器并挂载目录:......