导航:首页 > 编程语言 > js监听dom

js监听dom

发布时间:2023-06-11 13:04:53

1. javascript 事件监听是什么

1、事件监听的定义

在Javascript中,浏览器一般分为两大类:

① 基于IE内核的浏览器(版本号小于9的IE浏览器)

② 基于W3C内核的浏览器(版本号大于9的IE浏览器、Firefox、Google等浏览器)

1)基本语法:基于IE内核浏览器

dom对象.attachEvent(type,callback,capture) :为元素绑定事件监听程序

参数说明:

type:绑定的事件类型,如onclick、onmouseover、onmouseout

callback:事件的处理程序,通常是一个匿名函数

capture:使用的浏览器模型,冒泡模型与捕获模型,默认IE8以下的浏览器只支持冒泡模型!

2)基本语法:基于W3C内核的事件监听

dom对象.addEventListener(type,callback) :为W3C内核浏览器绑定事件监听

参数说明:

type:绑定事件类型,不带’on’前缀,如click,mouseover,mouseout

callback:事件的处理程序,通常是一个匿名函数

3、总结事件监听的区别

IE内核的监听方式与W3C内核的监听方式:

①方式不同

IE内核的浏览器使用attachEvent进行绑定

W3C内核的浏览器使用addEventListener进行绑定

②参数不同

IE内核浏览器,其绑定方式一共有三个参数type,callback,capture(使用的浏览器模型)

W3C内核浏览器,其绑定方式一共有二个参数,type和callback

③type参数不同

IE内核的浏览器,type是需要添加’on’前缀的,如onclick

W3C内核浏览器,type是不需要添加’on’前缀的,如click

④触发顺序不同

IE内核的浏览器,其事件监听是先绑定后触发,后绑定的先触发

W3C内核的浏览器,其事件监听是先绑定先触发,后绑定的后触发

2. js 怎么给dom添加监听

给dom元素添加事件来监听一般有两源种方式:

一、函数
<inputtype="button"onclick="clickme()"id="clickme"value="点击我">

<script>
functionclickme(){
alert("我被点击了");
}
</script>


二、为指定对象添加事件处理
<inputtype="button"onclick="clickme()"id="clickme"value="点击我">

<script>
document.getElementById("clickme").onclick=function(){
alert("helloworld");
}
</script>

3. js监听横向滚动条事件

你要监听的对象错误了。你要监听的是fixedDom

varfixedDom=document.getElementById('fixed');
fixedDom.addEventListener('scroll',winScroll,false);
functionwinScroll(e){
debugger
if(fixedDom.offsetLeft<document.body.scrollLeft){

};
if(fixedDom.offsetLeft>document.body.scrollLeft){

};
}

4. 在js中如何触发dom结点上的监听事件

DHTML的API是有click方法用来触发点击事件的,但是没有移动方法来触发移动事件,你可以用fireEvent("onclick");方法来指定触发的事件进行触发!

5. js 有没有办法 判断一个dom元素是否已经绑定了某个事件

js 有办法 判断一个dom元素是否已经绑定了某个事件!
代码如下:

/*
* 事件注册
* @param Element ele
* @param String eventType
* @param Function fn
* @param Boolean isRepeat
* @param Boolean isCaptureCatch
* @return undefined
*/
function loginEvent(ele , eventType , fn , isRepeat , isCaptureCatch){
if (ele == undefined || eventType === undefined || fn === undefined) {
throw new Error('传入的参数错误!');
}

if (typeof ele !== 'object') {
throw new TypeError('不是对象!');
}

if (typeof eventType !== 'string') {
throw new TypeError('事件类型错误!');
}

if (typeof fn !== 'function') {
throw new TypeError('fn 不是函数!');
}

if (isCaptureCatch === undefined || typeof isCaptureCatch !== 'boolean') {
isCaptureCatch = false;
}

if (isRepeat === undefined || typeof isRepeat !== 'boolean') {
isRepeat = true;
}

if (ele.eventList === undefined) {
ele.eventList = {};
}

if (isRepeat === false) {
for (var key in ele.eventList)
{
if (key === eventType) {
return '该事件已经绑定过!';
}
}
}

// 添加事件监听
if (ele.addEventListener) {
ele.addEventListener(eventType , fn , isCaptureCatch);
} else if (ele.attachEvent) {
ele.attachEvent('on' + eventType , fn);
} else {
return false;
}

ele.eventList[eventType] = true;
}

6. js为元素添加监听事件

语法
element.addEventListener(event, function, useCapture);
第一个参数是事件的类型(比如 "click" 或 "mousedown")。

第二个参数是当事件发生时我们需要调用的函数。

第三个参数是布尔值,指定使用事件冒泡还是事件捕获。此参数是可选的。

注意:请勿对事件使用 "on" 前缀;请使用 "click" 代替 "onclick"。

addEventListener可以对一个dom添加多个监听器,并且会顺序执行。

开发中,会遇到多个js文件都使用window.onload,然而只有最后一个绑定的生效,如下:
window.onload = func1();
window.onload = func2();

这时可以用addEventListener来解决:
window.addEventListener('load', func1);
window.addEventListener('load', func2);

7. js如何清除dom节点上的指定监听事件

亲。你第一个“nihao” 用的jquery绑定的。 你删除不能用原生的javascript删除。
可以$('#myBtn').unbind("click")
如果是原生的javascript,添专加事件用 addEventListener , attachEvent 和属removeEventListener,detachEvent 添加和删除。

8. 怎样理解js中的事件监听

js的监听事件就是相当于注册一个监听器,随时检测对应事件有没有发生,如果发生了自动调用定义好的函数来处理。

一般情况下 监听事件是对应于dom元素而言的,同时也需要声明所监听事件种类。
比如可以为一个按钮设置监听事件,点击之后自动调用相应函数处理。
同时可以在用函数处理时使用事件对象(event object)来获得关于触发这个事件的对象的信息。

阅读全文

与js监听dom相关的资料

热点内容
app充值请联系itunes 浏览:678
矢量app和cdr哪个好 浏览:85
系统文件坏了如何修复 浏览:20
键盘系统文件误删 浏览:738
白金英雄坛所有版本 浏览:842
ps文件转hsj 浏览:382
哪个网站电影 浏览:490
ps4游戏文件格式名称 浏览:290
caxa教程2007 浏览:832
新点是什么小说网站 浏览:753
魔兽世界冰封王座3版本转换器 浏览:418
苹果3dtouch软件 浏览:979
qq视频在哪个文件夹里面 浏览:740
请帖制作网站java源码 浏览:257
自己的网站怎么做兼职 浏览:608
医院基础数据是什么 浏览:744
为什么数据线没有typec接口 浏览:39
苹果手机文件管家 浏览:187
qq头像男生水里 浏览:633
联想电脑初始密码 浏览:517

友情链接