首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

随心所欲的滚动条,远离产品汪(二)

滚轮事件及兼容问题概要 在鼠标上,除了点击、拖拽等事件,当然也少不了滚轮事件了,但是比较有意思的一点是,平常大家碰到兼容问题首先想到了IE这个万年背锅侠,但是这次还真不是,火狐别树一帜的凑了一回热闹。...1.在滚轮事件中,火狐的的滚动事件是DOMMouseScroll,而其它浏览器是mousewheel,这一点是要仔细留意的。 2.在事件对象的兼容中。...3.当滚动鼠标的时候,火狐浏览器通过检测datail的正负号就可以确定, 而其它浏览器IE、谷歌通过检测wheelDelta正负来确定。...首先,我们需要明白我们的滚轮是作用在谁的身上,根据实际需求来进行事件绑定,当我们鼠标移入可视区时,会触发滚轮事件,在移出可视区时则清除滚轮事件,接下来进行具体代码操作。...ps:此处为了方便理解使用jQuery来实现,记得引入呦。 较之上篇的实现代码,本篇中增加了两个变量。

2K80

接上一篇事件详解

和mouseleave,所有鼠标事件都会冒泡,也可以被取消,而取消鼠标事件将会影响浏览器的默认行为。...支持一个为DOMMouseScroll的事件,也是在鼠标滚轮滚动时触发,与mousewheel事件一样,但是他的有关鼠标滚轮信息保存在detail属性中,当鼠标向前滚动时,这个属性值是-3的倍数,当鼠标滚轮向后滚动时...wheelDelta属性,如果包含则返回属性值,如果不包含,那么我们就当作是firefox浏览器,那么假设相应的值保存在detail属性中,有了上面的方法后,我们现在可以将相同的事件指定给mousewheel...;此事件也是属于鼠标事件,因此此事件包含与光标位置中所有的属性 理解hashchange事件 HTML5中新增加了hashchange事件,以便在URL的参数列表(url中的#号后面的所有参数发生改变时通知开发人员...包含2个属性,oldURL和newURL,这两个属性分别保存着URL变化前后的完整URL; 支持的浏览器有:IE8+,firefox3.6+,safari5+,chrome和opera10.6+ 在这些浏览器中

1.9K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    再谈BOM和DOM(5):各个大流浪器DOM和BOM里面的那些坑—兼容性

    三大不冒泡事件 所有浏览器的focus/blur事件都不冒泡,万幸的是大部分浏览器支持focusin/focusout事件,不过可恶的firefox连这个都不支持。...万恶的滚轮事件 滚轮事件的支持可谓是乱七八糟,规律如下: IE6-11 chrome mousewheel wheelDetla 下 -120 上 120 firefox DOMMouseScroll...关于鼠标滚轮事件,IE支持mousewheel,火狐支持DOMMouseScroll。...判断鼠标滚轮是向上还是向下,IE是通过wheelDelta属性,而火狐是通过detail属性 js在操作DOM中存在着许多跨浏览器方面的坑,本文花了我将近一周的时间整理,我将根据实例整理那些大大小小的“...,都会触发事件,但是它是IE专属的; oninput是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件

    98040

    DOM、BOM一些兼容性问题

    而有些兼容性问题也可能是其它浏览器之间的差异,比如 Chrome 和 FireFox 对于鼠标滚轮事件对象的滚轮方向判断方式不同,Chrome使用 wheelDelta,而FireFox 则采用 detail...mousewheel 事件 该事件并不是一个标准的事件,但是大部分浏览器均有实现,除了早期的 Firefox 使用 DOMMouseScroll 事件名称。...在之后,W3C 标准化了鼠标滚轮事件 —— wheel ,名字有所改变。标准化后的滚轮事件几乎和原来的事件对象一样。但是兼容性比较差,IE 压根没有这个事件名称。...滚轮事件中有一个属性可以判断鼠标滚轴是向下滚动的还是向上滚动的,这个属性的值是一个数值。...如 Google Chrome 及 Safari 不会触发方向键的 keypress 事件;而Firefox 不会触发如 SHIFT 键等修改键的 keypress 事件。

    1.6K20

    JavaScript的事件

    建议大家放心使用事件冒泡! 现代的浏览器默认情况下都是冒泡模型,而捕获模式则是早期的Netscape默认情况。而现在的浏览器要使用DOM2级模型的事件绑定机制才能手动定义事件流模式。 3....IE8是最后一个仍然使用其专有事件系统的主要浏览器。...IE中的事件对象 在使用DOM0级方法添加事件时,event对象可以作为window对象的一个属性存在,使用attachEvent添加事件处理程序的时候,event对象会作为参数传入事件处理函数中 dom.onclick...鼠标与滚轮事件 click 点击主鼠标按钮或者按下回车按键的时候触发。...任意鼠标按钮按下时触发 mouseup 释放鼠标按钮触发 mousemove 鼠标在元素内部移动的时候重发触发 mousewheel 滚轮事件 mouseover 鼠标位于元素外部,将其首次移入另一个元素边界之内时触发

    1.5K30

    jimojianghu

    现在使用这段代码,已经彻底无效,要想解决问题,得想新的方案。 话不多说,下面先给出具体的解决办法。 触控板 要禁止触控板的缩放行为,需要处理鼠标滚轮事件:wheel 。...firefox 支持的是自定义的 DOMMouseScroll 事件。 wheel 才是标准特性,现代浏览器基本都支持,建议使用 wheel 替代。...笔记本触摸板双指滑动,将响应滚轮事件,因此可以监听该事件,禁止触摸板手指缩放界面。 但需要注意滚轮默认事件,如会导致子元素滚动失效,这时候就要在子元素上阻止相同事件冒泡。...添加 passive 参数为true后,touchmove 事件不会阻塞页面的滚动(同样适用于鼠标的滚轮事件)。...由于目标被视为被动,因此无法在被动事件侦听器中阻止默认行为。 可能的发生情景:移动端使用touch事件后,垂直平移时的报错。

    3.8K00

    js中的事件(event)

    function(){alert("事件“);} 事件的绑定相当于做计划,绑定在事件上的方法执行了就相当于计划的事发生了,所以一般情况下,事件属性的前面都有”on“,如:ele.onclick, ele.onmousedown...; 以下是常用的事件对象的属性: var x =e.clientX,y=e.clientY;所有浏览器都支持,相当于浏览器中鼠标的坐标; var x=e.pageX,y = e.pageY;ie8或以下不支持...,相当于文档的中鼠标的坐标; target事件源;事件源的概念:事件最终发生在页面的那个元素上; 事件源和事件的传播是息息相关的 事件的传播包括:冒泡和捕获;事件传播是浏览器在处理事件行为的机制,冒泡阶段或者捕获阶段...Dom的二级事件绑定方式,并且用e.preventDefault = true;来取消浏览器滚轮的默认行为; 我们要知道常见的事件默认行为有哪些,并且要知道阻止默认行为,只要绑定到这个行为事件的方法最后加一句...后面绑定的会覆盖前面绑定的问题,如: ele.onclick = fn1; ele.onlcik=fn2; 这样的处理的结果就是,ele的onclick事件上,fn2方法把fn1方法给覆盖了,这样就不容易实现同一个事件上绑定多个方法

    6.9K30

    JavaScript(进阶)

    , 这个事件对象中封装了当前事件的相关信息,比如:鼠标的坐标,键盘的按键,鼠标的按键,滚轮的方向。。...事件委派是利用了冒泡,通过委派可以减少事件绑定的次数,提高程序的性能 利用event中的target判断:如果触发事件的对象是我们期望的元素,则执行否则不执行 # 事件的绑定 使用 对象.事件 = 函数..., 这样当事件被触发时,响应函数将会按照函数的绑定顺序执行 这个方法不支持IE8及以下的浏览器 attachEvent() 在IE8中可以使用attachEvent()来绑定事件 参数: 事件的字符串...onmousewheel 鼠标滚轮滚动的事件,会在滚轮滚动时触发,但是火狐不支持该属性 在火狐中需要使用 DOMMouseScroll 来绑定滚动事件,注意该事件需要通过 addEventListener...可以获取鼠标滚轮滚动的方向 //向上滚 120 向下滚 -120 //wheelDelta这个值我们不看大小,只看正负 //wheelDelta这个属性火狐中不支持 //在火狐中使用

    1.5K20

    JavaScript基础

    使用该属性可以获取或设置元素内部的HTML代码 事件 可以在响应函数中定义一个形参,来使用事件对象,但是在IE8以下浏览器中事件对象没有做完实参传递,而是作为window对象的属性保存...event中的target表示的触发事件的对象 事件的绑定:addEventListener()通过这个方法也可以为元素绑定响应函数 参数: 事件的字符串,不要on 回调函数,当事件触发时该函数会被调用...("click", function () { console.log(2) },false); 在IE8中可以使用attachEvent()来绑定事件 参数: 事件的字符串,要on 回调函数.... } 鼠标松开事件 btn.onmouseup = function () { ... } 鼠标滚轮事件 btn.onmouseup = function () { ... } 案例 <!...var box1 = document.getElementById("box1"); //为box1绑定一个鼠标滚轮滚动的事件

    2K20

    JavaScript 事件对象

    alert(arguments.length);//1,得到一个隐藏参数 }; 通过上面两组函数中,我们发现,通过事件绑定的执行函数是可以得到一个隐藏参数的。...非IE(W3C)中的button属性 值 说明 0 表示主鼠标按钮(常规一般是鼠标左键) 1 表示中间的鼠标按钮(鼠标滚轮按钮) 2 表示次鼠标按钮(常规一般是鼠标右键) IE中的button属性 值...6 表示同时按下了次鼠标按钮和中间的鼠标按钮 7 表示同时按下了三个鼠标按钮 PS:在绝大部分情况下,我们最多只使用主次中三个单击键,IE给出的其他组合键一般无法使用上。...,会有一些特殊的情况: 在Firefox和Opera中,分号键时keyCode值为59,也就是ASCII中分号的编码;而IE和Safari返回186,即键盘中按键的键码。...而现在的浏览器要使用DOM2级模型的事件绑定机制才能手动定义事件流模式。

    1.9K100

    Vue 实现图片监听鼠标滑轮滚动实现图片缩小放大功能

    实现思路在js中,onmousewheel是鼠标滑轮滚动事件,可以通过这个事件触发来改变图片的大小,实现图片放大缩小功能。但是我们这里是vue所以使用的是:mousewheel。...如果滚轮旋转远离用户,则为正,否则为负。这意味着增量值符号不同于DOM级别3事件的符号车轮。但是,这些值的数量在不同浏览器之间的意义并不相同。详情见以下解释。...值的符号与车轮三角洲属性值。有火狐鼠标滚轮兼容问题。onmousewheelonmousewheel事件:会在鼠标滚轮滚动的时候被触发,对鼠标滚轮是否滚动进行判断,但是火狐浏览器不支持这个属性。...DOMMouseScroll可以为火狐浏览器绑定滚动事件,它需要通过addEventListener函数来绑定。...在页面有滚动条的时候,滚动条会随着鼠标滚轮滚动而滚动,这是浏览器的默认行为,可用return false来取消浏览器的默认行为。有火狐鼠标滚轮兼容问题。

    3.7K20

    JS事件篇

    时,表明垂直滚动条滚动到底了 阅读知情同意书的小案例 onmousemove事件和事件对象 获取鼠标的坐标 页面滚动条的归属者 解决浏览器兼容性常使用以下写法 div跟随鼠标移动 事件的冒泡和事件对象event...事件的委派 事件的绑定----为另一个元素绑定多个事件 addEventListener---IE8及以下的浏览器不支持,正常浏览器不支持 attachEvent---支持IE8及以下的浏览器 兼容上面两者的写法...替代 取消滚动条随滚轮移动的默认行为 键盘事件 浏览器对象模型---navigator 通过 属性名 in 对象 可以判断对应的属性在当前对象中是否存在 浏览器对象模型---History 浏览器对象模型...---- 页面滚动条的归属者 ---- 解决浏览器兼容性常使用以下写法 //针对IE8以下浏览器不会将事件对象传入到事件函数的参数中 event=event||window.event;...替代 d1.onmousewheel=function() { alert("鼠标滚轮滚动了"); }; //为div绑定一个鼠标滚轮事件

    12.6K10

    如何使用jQuery操作浏览器窗口事件?【jQuery框架应用入门15】

    这些事件在浏览器窗口比较直观,但实际上这两种情况也可以发生在html元素的某个节点上。本节以较为直观的浏览器窗口事件为例来说明jQuery中窗口事件的使用。案例源代码: 网页预览效果如图5-22所示: 图5-22页面效果 在jQuery中的scroll事件是当滚轮出现时,用户使用鼠标滚轮滚动或者点击滚动条滚动才会发生的事件。...图5-23提示效果 而用户的浏览器大小发生变化时就会触发预先绑定在window上面的resize事件,这个事件可以将当前的浏览器内部的宽高实时输出到id为ctsize的容器里面。...当在使用resize事件的时候,要注意检测浏览器窗口要将节点绑定到window上,而不是document节点。 当使用scroll滚动事件的时候,绑定事件的容器要有滚动条变化才会发生。...根据业务需要,有时候在没有滚动条情况下要触发鼠标滚动事件,如在页面中实现图片切换效果,就要回归使用JavaScript的方式将document绑定到mousewheel事件上。

    10510

    Blazor-事件参数

    内置事件参数 在Blazor 项目中,微软对事件的事件参数进行了封装,所有的事件参数类都必须继承 EventArgs 基类。 如我们不清楚当前的方法封装的事件到底是什么类型的?...我们这里使用的是@onclick可以看到封装的类型为MouseEventArgs 在 Razor 组件中,事件参数只需要在事件处理程序上定义,在调用时无需要传入任何值 示例 根据上述的测试我们已经知道了事件的具体类型...PointerEventArgs:指针事件(如鼠标、触摸屏、触控笔等输入设备的交互事件)(如:@onpointerdown) DragEventArgs:用于处理拖放事件(如 @ondrag、@ondrop...ErrorEventArgs :处理 错误事件,通常与 组件结合使用,用于捕获组件渲染过程中未处理的异常。 FocusEventArgs:用于处理焦点事件(如 @onfocus、@onblur)。...WheelEventArgs:用于处理鼠标滚轮事件(如 @onwheel)。 匿名方法多参数传递 如果我们想在传递参数时,不止传递事件参数或者不传递事件参数而传递我们自定义参数时,应该怎么操作?

    6210

    鼠标滚轮事件介绍

    简介   IE6实现了鼠标滚轮事件mousewheel,这个事件包含了一个鼠标事件所没有的属性,wheelDelta,这 个属性值始终是120的倍数,而且向上滑动一单位,wheelDelta值为120,...Opera10之前的版本对wheelDelta值的符号处理错误,需要修改。但是Firefox没 有该事件,而是用DOMMouseScroll。...这个事件只有Firefox支持,所以可以单独针对Firefox做兼容。   另外,HTML5为了兼容这两个事件,另外规定了一个标准版本wheel事件,比较新的浏览器基本实现了该事件。...chrome31+,Firefox 17+,IE9+,Safari 7.0.5以及新版使用webkit内核的Opera,使用Carakan内核的Opera 并不支持该事件。...综上,目前wheel事件的兼容性其实并不理想,mousewheel的兼容性最佳,适用于除Firefox外的所有浏览器,对于 Firefox则单独做兼容处理。

    3K60

    C++ Qt开发:Charts折线图绑定事件

    在上一篇文章中笔者介绍了关于QCharts绘图组件的详细使用方法及接口,本章将继续为绘图组件绑定事件,通常在未绑定事件的图形上所有的元素都是被禁用状态的,我们无法直接操作这些功能,通过绑定图形组件事件将可以实现对图形的各种操作模式...以下是这些事件处理函数的简要说明: 鼠标按下事件 (mousePressEvent): 当鼠标按下时触发。在该函数中,你可以处理鼠标按下时的逻辑,如获取鼠标坐标、进行拖拽等。...鼠标释放事件 (mouseReleaseEvent): 当鼠标释放时触发。你可以在该函数中处理鼠标释放时的逻辑,如执行点击操作。...鼠标滚轮事件 (wheelEvent): 当鼠标滚轮滚动时触发。你可以在该函数中处理鼠标滚轮事件,如放大缩小、滚动视图等。 键盘按下事件 (keyPressEvent): 当键盘按键被按下时触发。...鼠标滚轮事件 (wheelEvent): 根据滚轮滚动方向,调整 g_x 的值,然后使用 zoom 方法进行缩放。

    52210

    结合使用 C# 和 Blazor 进行全栈开发

    我将展示如何在 Blazor 客户端和 WebAPI 服务器应用程序之间共享验证逻辑。目前,你不仅要在服务器中验证输入,还要在客户端浏览器中验证输入。新式 Web 应用程序的用户希望获得准实时反馈。...在填写长窗体并单击“提交”后仅看到红色错误返回的日子已经一去不复返了。 在浏览器中运行的 Blazor Web 应用程序可以与 C# 后端服务器共享代码。可以将逻辑放入共享库中,并在前端和后端使用它。...如果此模型中的值已更改或在内部错误字典中添加或删除了验证规则,便会触发这个事件。Blazor 客户端侦听此事件,并在事件触发时更新 UI。...OnInit 方法使用其中的一些测试数据来初始化模型类。它绑定到 ModelChanged 事件,并调用 CheckRules 方法来验证规则。...远景 此简单示例展示了如何在浏览器和后端之间共享验证逻辑,仅仅触及全栈 C# 环境强大功能的皮毛。

    6.7K40

    DOM事件

    DOM事件是指在HTML文档中,当特定的动作发生时(比如用户点击按钮、页面加载完成等),浏览器会生成相应的事件。...事件事件:浏览器赋予元素的默认行为,可以理解为事件是天生具备的。不论是否为其绑定方法,当某些行为触发的时候,相关的事件都会被触发执行。...事件绑定:给元素默认的事件行为绑定方法,这样在行为触发的时候才会执行绑定的方法。...document.body.onclick=function (){}; 大部分人:给body绑定一个点击事件 标准:给body的点击事件行为绑定方法鼠标事件元素.onclick=function(){...(){}鼠标按下元素.onmouseup=function(){}鼠标抬起元素.onwheel=function(){}滚轮滚动mouseover和mouseenter的区别enter和leave会受到元素之间的层级关系

    17620

    DOM事件基本概念大总结(前端必备)

    取而代之的是微软新浏览器 Edge ,这个浏览器好像已经统一了 DOM级规定的事件处理。...之后就会触发该事件。添加事件的方法?建议使用之前写的跨浏览器事件处理方法。当然也可以通过获取 dom 对象,并对其属性赋值,也可以直接在 html 元素上绑定。...但是这两个方法下的 event 对象的使用有区别,特别是在 IE 浏览器上 在 window对象下触发整个页面的加载; window.addEventListener('load', function...焦点一般只鼠标的焦点,虽然可以检测鼠标事件来监控,但是焦点可以通过键盘移动所以有专门的事件监控。...不会冒泡 DOMFocusOut 在失去焦点元素上触发,会冒泡; Opera 专有 focus 在获取焦点元素上触发,不会冒泡 DOMFocusIn 在获取焦点元素上触发,会冒泡; Opera 专有 鼠标与滚轮事件

    1.9K20
    领券