如何通过js实现添加事件监听和移除事件监听

如何通过js实现添加事件监听和移除事件监听,第1张

直接用js实现比较麻烦,不同版本的浏览器(主要是低版本的)支持的方法会不一样。

建议使用jquery实现:

添加事件例:

$("button").on("click", function(){

    console.log("clicked")

})

移除事件例:

$("button").off("click")

文档链接:http://api.jquery.com/on/

一、页面关闭:

用javascript重新定义 window.onbeforeunload() 事件 

在javascript里定义一个函数即可 

function window.onbeforeunload() { alert("关闭窗口")} 

alert()事件将会在关闭窗口前执行,你也可以用户决定是否关闭窗口 

function window.onbeforeunload() { 

if (event.clientX>document.body.clientWidth &&event.clientY<0 ||event.altKey) 

window.event.returnValue="确定要退出本页吗?" 

2.用onUnload方法 

在body 标签里加入onUnload事件 

body onUnload="myClose()"

二、页面跳转好做,但监听不好做。

页面跳转方法:a.window.location.href='index.html'

b.window.navigate("index.html")

c.

if (confirm("你确定要跳转页面吗?"))...{

window.location.href="index.html" 

}

可以按以下思路步骤来实现:

1、声明一个变量(如el),用来存放鼠标所在的元素节点。

2、在body元素上增加一个鼠标事件监听

3、使用事件对象中的target属性,每当鼠标经过一个元素时,就把它赋值给el变量

任何时候,读取el变量的值即为鼠标当前所在的元素。

示例代码:

var el = window.document.body//声明一个变量,默认值为body

window.document.body.onmouseover = function(event){

  el = event.target//鼠标每经过一个元素,就把该元素赋值给变量el

  console.log('当前鼠标在', el, '元素上')//在控制台中打印该变量

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11694632.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存