Tag: events

使用鼠标滚轮事件在网站上滚动了多少像素?

我正在编写自定义滚动条并正在捕捉鼠标滚轮事件。 我正在使用它然后调整我要滚动的元素的scrollTop。 是否有标准数量的像素向下滚动,或者它是否因系统而异? 我在最新版本的Firefox中展示了114px:

使用冒泡(JavaScript / jQuery)将事件处理程序绑定到特定元素

我正在开发一个近似于Firebug检查工具function的项目。 也就是说,当鼠标hover在页面上的元素上时,我想突出显示它们(通过更改它们的背景颜色),当它们被单击时,我想执行一个构建可以使用的CSS选择器的函数识别它们。 但是,我一直遇到与事件冒泡有关的问题,并且彻底弄糊涂了我自己。 而不是让你沿着这条路走下去,只是为了解释我正在尝试做什么并寻求一些帮助,这可能是有意义的。 以下是一些规格: 我只对包含文本节点的元素(或带有文本节点的任何后代元素)感兴趣。 当鼠标进入这样的元素时,请更改其背景颜色。 当鼠标离开该元素时,将其背景颜色更改回原来的颜色。 单击元素时,执行为该元素构建CSS选择器的函数。 我不希望鼠标hover在元素的边缘区域上作为该元素的鼠标hover,但是对于下面的元素(我认为这是默认的浏览器行为?)。 我可以处理突出显示/取消突出显示的代码,并构建CSS选择器。 我主要遇到的问题是有效地将事件处理程序绑定到我想要突出显示/可点击的元素,并避免/停止冒泡,以便鼠标hover在( )元素上也不会执行处理函数例如,。 我认为正确的方法是将事件处理程序绑定到document元素,然后以某种方式使用bubbling只执行最顶层元素的绑定函数,但我不知道代码是什么样的,那真的是我可以在哪里使用帮助。 我正在使用jQuery,并希望尽可能地依赖它。 提前感谢任何指导!

拦截JavaScript卸载事件

我假设我的网页上有任意数量的附加了事件处理程序的元素,让我们说onclick 。 在处理程序中,触发卸载事件,例如通过分配window.location 。 任务:我需要检测事件处理程序是否将卸载页面。 如何添加另一个拦截卸载事件的事件处理程序并将其存储在变量中而不是触发它? 更新 由于混乱,这是一次表达。 我编写了一个Java应用程序,它使用Selenium 2来提取有关用户事件的所有信息。 除卸载外,这很容易完成。 在最终卸载页面之前,我必须等待拉动。

选择2自动触发事件更改

我有4个选择框,当我改变第一个时,做一些像空的东西,追加并为下一个设置新值。 因为我使用select2只能使用$ .select2(’val’,’value’)设置它; 只是该命令在另一个选择上触发更改事件并执行级联更改。 请注意.empty()和append()不会触发(我喜欢它),甚至.val()都不应该触发它,但是当使用select2时你不能使用它来访问新的val。 代码在这里: function anidado(selectorOrigen,selectorDestino) { id = selectorOrigen; alert(id); destino = “#”+selectorDestino; valor = $(‘#’+id).find(“:selected”).val(); $.ajax({ method: “GET”, url: “blanco2.php”, data: { select: id, valor: valor } }) .done(function( msg ) { obj = $.parseJSON( msg ); if (obj.length>0) { $(destino).empty().append(‘Select an —‘).select2(“val”, “x”); $.each(obj,function(index) { valor = obj[index].codigo; texto = […]

jQuery如何通过输入文本字段使Enter(Return)充当Tab键,但最后触发提交按钮

我已经阻止了Enter(返回)键,实际上,它在Tab键中被转换了。 因此,当在输入文本字段内按下时,它将充当Tab键。 这很好,但我需要它在最后一个字段中按下时触发提交按钮,下面是Enter键变异的代码: $(‘input’).keydown(function(event) { if(event.which == 13) { event.preventDefault(); $(this).nextAll(‘input:first’).focus(); } }); 表单代码是输入类型=“文本”的序列,最后是一个按钮类型=“提交” [编辑]实际上代码是这一个,取自jquery:在特定部分输入到Tab触发器 。 但我不知道为什么昨天工作不起作用: $(‘:text’).keydown(function(e) { if(e.keyCode == 13 && $(this).attr(‘type’) != ‘submit’) { e.preventDefault(); $(this).nextAll(‘input:first’).focus(); } });

混合Angular.js和Bootstrap 3 – 不兼容的地方在哪里?

这是一个概念性问题。 我正在考虑将AngularJS添加到我的下一个项目中,我已经选择使用Twitter Bootstrap 3进行UI控制。 我看到两个框架之间的其他stackoverflow问题可能存在摩擦,但我不太确定两者之间可能存在不兼容性的根本原因是什么。 他们都听事件,但bootstrap主要是前端显示库,而在我看来,angular.js更深入。 也许有人可以从根本上解释不兼容性开始出现的地方 。 希望以某种方式直接贷款,以确定在同一个项目中混合两者是一个好主意,或者如果这样做应该避免什么。 这可以节省大量的时间通过调试来学习,因为它太晚了,或者首先避免使用错误的架构。

如何在JavaScript(或jQuery)中实现自定义广播事件?

我想实现一个可以“广播”的自定义事件,而不是发送到特定目标。 只有那些已将自己注册为此类事件的侦听器的元素才会收到它们。 我的想法如下。 首先,在代码的不同位置,会有表单的陈述 some_subscriber.on_signal( ‘some_signal’, some_handler ); 我使用术语signal作为“广播事件”的简写。 在上面的表达式中, some_subscriber通过为它提供一个处理程序,将自身注册为这种信号的一种类型(称为’some_signal’)的监听器。 在代码的其他地方,会有表格的陈述 publisher.signal_types[ ‘some_signal’ ].broadcast( event_data ); 当执行这些语句时,会生成一个新事件并“ 广播 ”。 我的意思是,调用broadcast方法的代码没有关于它发出的信号的侦听器的直接信息。 我在这个jsFiddle中实现了这个想法的草图,主要是为了说明我在上面的文字中所描述的内容。 (它肯定不是生产级的,我不是特别相信它可以这么做。) 该实现的关键要素如下。 首先,发布者对象不会跟踪他们的订阅者 ,这可以在这种发布者的工厂方法的实现中看到,如下所示: function make_publisher ( signal_types ) { // … var _ , signal = {} , ping = function ( type ) { signal[ type ].broadcast( … ); } ; […]

单击重叠项目上的事件

我有 具有单击事件的表行 单击事件按钮,该按钮在表格行上 我有问题 当我点击按钮时,行点击事件也会执行,但我不想要这种行为。 我只希望按钮点击执行,没有行点击。

jQuery点击事件不工作IE7和IE8

IE7或IE8中的以下代码不起作用。 这是一个错误吗? 它在IE6中运行良好(不可思议!) http://jsfiddle.net/zgSmT/

我需要隐藏div,直到Vimeovideo结束。 我怎么做?

我的网站有一个Vimeovideo,客户端想要隐藏包含表单链接的div,直到video结束。 我在Vimeo API Playground上看到有一个“Finish”事件监听器,但我以前从未搞过Vimeo。 我有一个jquery调用隐藏或显示我将在宣布Vimeo完成事件后运行的Div。 但是如何设置JQuery / Javascript来监听该事件呢? 对不起,我确信这很简单,但我是Vimeo新手。 我目前将Vimeovideo硬编码到HTML中作为div中的iframe。 感谢您提供的任何示例。