【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>
目录
相关文章
|
3月前
|
JavaScript 前端开发
|
3月前
|
JavaScript 算法
|
3月前
|
JavaScript
|
21天前
|
JavaScript
事件触发、事件捕获与事件冒泡(js的问题)
事件触发、事件捕获与事件冒泡(js的问题)
10 0
|
1天前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
15 2
|
23天前
|
JavaScript 前端开发 流计算
JS:oninput和onchange事件的区别
JS:oninput和onchange事件的区别
19 1
|
1月前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素依次触发事件,而事件捕获则从最外层元素向内层元素传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。例如: ```javascript element.addEventListener(&#39;click&#39;, console.log, false); // 冒泡 element.addEventListener(&#39;click&#39;, console.log, true); // 捕获 ```
17 0
|
1月前
|
JavaScript 前端开发
JS页面加载事件
JS页面加载事件
|
1月前
|
JavaScript
|
1月前
|
JavaScript 前端开发
js阻止浏览器默认事件和防止事件传播事件
js阻止浏览器默认事件和防止事件传播事件
21 3