【JavaScript-事件①】事件三要素,事件处理程序

简介: 【JavaScript-事件①】事件三要素,事件处理程序

1.事件三要素


1.事件源:事件被触发的对象


2.事件类型:如何触发 什么事件 比如鼠标点击(onclick),鼠标经过亦或是键盘按键


3.事件处理程序:通过一个函数赋值的方式完成


2.执行事件步骤


1.获取事件源


2.绑定事件(或注册事件)


3.添加事件处理程序

<body>
    <button id="butn">山鱼是谁?</button>
    <script>
        //1.获取事件源
        var butn = document.getElementById('butn')
        //2.绑定事件(或注册事件)butn.onclick
        //3.添加事件处理程序
        butn.onclick = function () {
            alert('山鱼是一名CSDN的小博主')
        }
    </script>
</body>


3.常见的鼠标事件



4.操作元素


JavaScript的DOM操作可以改变网页内容、结构和样式,我们可以利用DOM操作元素来改变元素里面的内容、属性等。


1.使用element. innerText和element. innerHTML来改变元素

<style>
        //给div一个样式更加好看
        div{
            color: cadetblue;
            width: 120px;
            background-color: rgb(255, 255, 255);
        }
    </style>
</head>
<body>
    <button> 点击获取当前时间</button>
    <div>00:00:00</div>
    <script>
        // 获取元素
        var but = document.querySelector('button');
        var div = document.querySelector('div');
        // 注册事件
        but.onclick = function () {
            div.innerText = gettime();
        }
        //封装一个函数用来获取当前时间
        function gettime() {
            var date = new Date();
            var hour = date.getHours();
            hour = hour < 10 ? "0" + hour : hour;
            var min = date.getMinutes();
            min = min < 10 ? "0" + min : min;
            var sc = date.getSeconds();
            sc = sc < 10 ? "0" + sc : sc;
            return '现在是:' + hour + ":" + min + ":" + sc;
        }
    </script>


2.element. innerText和element. innerHTML区别

<body>
    <div>
    </div>
    <script>
        var div = document.querySelector('div');
        div.innerText = '<strong>Aic山鱼</strong>';// 他并不会给我们进行一个加粗的效果,反而会将加粗标签暴露出来,不进行标签的识别,还会去除空格和换行
        div.innerHTML = '<strong>Aic山鱼</strong>';// 而innerHTML会对HTML所属的标签进行一个识别,然后就会显示加粗后的效果
        // 当然在实际使用中一般就使用innerHTML
    </script>
</body>

element. innerText和element. innerHTML具有可读性,可以获取元素内容


element. innerText不进行标签的识别,还会去除空格和换行


innerHTML会进行标签的识别



5.修改元素属性


<style>
        img {
            width: 142px;
            height: 142px;
        }
    </style>
</head>
<body>
    <button id="one">Aic山鱼</button>
    <button id="two">Aic山鱼妹</button><br>
    <img src="img/shanyu.jpg" alt="">
    <script>
        var sy = document.getElementById('one');
        var sym = document.getElementById('two');
        var img = document.querySelector('img');
        sym.onclick = function () {
            img.src = 'img/山鱼妹.jpg';
        }
        sy.onclick = function () {
            img.src = 'img/shanyu.jpg';
        }
    </script>
</body>
目录
相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
javascript onkeydown事件
javascript onkeydown事件
|
4月前
|
JavaScript 前端开发
js事件队列
js事件队列
144 55
|
2月前
|
JavaScript
js两种移除事件的方法
js两种移除事件的方法
41 3
|
3月前
|
JavaScript 前端开发
JavaScript 事件
JavaScript 事件
37 2
|
4月前
|
JavaScript Java Serverless
函数计算产品使用问题之如何使用Node.js编写程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
27天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
40 5
|
1月前
|
JavaScript 前端开发
利用事件循环提高 JavaScript 程序的性能
本文介绍了事件循环在JavaScript中的工作原理,以及如何通过合理利用事件循环来优化程序性能,包括异步操作、任务优先级和避免阻塞等技巧。
|
2月前
|
存储 JavaScript 前端开发
js事件队列
【10月更文挑战第15天】
51 6
|
2月前
|
JavaScript 前端开发
如何使用Vue.js构建响应式Web应用程序
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用程序
|
3月前
|
JavaScript 前端开发
JavaScript HTML DOM 事件
JavaScript HTML DOM 事件
26 5