Questions tagged «dom-events»

DOM(文档对象模型)事件允许事件驱动的编程语言在DOM树内的元素节点上注册各种事件处理程序/侦听器。

7
jQuery mouseenter()vs mouseover()
所以阅读最近回答后,问题我很清楚,如果我真的明白之间的差别mouseenter()和mouseover()。该帖子指出 鼠标移到(): 输入元素时以及元素内发生任何鼠标移动时都会触发。 MouseEnter(): 输入元素后会触发。 我想出了一种同时使用两者的小提琴,它们看起来非常相似。有人可以向我解释两者之间的区别吗? 我也尝试阅读JQuery定义,两者都说相同的话。 当鼠标指针进入元素时,mouseover事件将发送到该元素 当鼠标指针进入元素时,mouseenter事件将发送到该元素。 有人可以举例说明吗?
172 jquery  dom-events 

19
当悬停父绝对div的子元素而没有jQuery时,防止onmouseout
我onmouseout在绝对位置div中的函数遇到麻烦。当鼠标单击div中的一个子元素时,将触发mouseout事件,但我不希望它触发,直到鼠标不在父绝对div之外。 我如何防止mouseout事件在没有jquery的情况下击中子元素而触发。 我知道这与事件冒泡有关,但是我没有运气去寻找如何解决这个问题的方法。 我在这里找到了类似的帖子:如何禁用由子元素触发的mouseout事件? 但是,该解决方案使用jQuery。

14
如何区分鼠标的“单击”和“拖动”
我使用的jQuery.click处理上拉斐尔图形的鼠标点击事件,同时,我需要处理鼠标drag事件,鼠标拖动由mousedown,mouseup并mousemove在拉斐尔。 很难区分click并且drag因为click还包含mousedown&mouseup,然后如何在Javascript中区分鼠标“ click”和鼠标“ drag”呢?

4
如何清除函数内部的setInterval?
通常,我将间隔设置为一个变量,然后像清除它一样,var the_int = setInterval(); clearInterval(the_int);但是为了使我的代码正常工作,我将其放在了一个匿名函数中: function intervalTrigger() { setInterval(function() { if (timedCount >= markers.length) { timedCount = 0; } google.maps.event.trigger(markers[timedCount], "click"); timedCount++; }, 5000); }; intervalTrigger(); 我该如何清除?我试了一下,然后尝试var test = intervalTrigger(); clearInterval(test);确定一下,但这没用。 基本上,我需要在单击Google地图后停止触发,例如 google.maps.event.addListener(map, "click", function() { //stop timer });

22
拖动子元素时会触发父元素的“ dragleave”
总览 我具有以下HTML结构,并且将dragenter和dragleave事件附加到了<div id="dropzone">元素上。 <div id="dropzone"> <div id="dropzone-content"> <div id="drag-n-drop"> <div class="text">this is some text</div> <div class="text">this is a container with text and images</div> </div> </div> </div> 问题 当我将文件拖到时<div id="dropzone">,dragenter事件将按预期触发。但是,当我将鼠标移到子元素(例如)上时<div id="drag-n-drop">,会dragenter为该<div id="drag-n-drop">元素dragleave触发该事件,然后为该<div id="dropzone">元素触发该事件。 如果我<div id="dropzone">再次将鼠标悬停在该元素上,dragenter则会再次触发该事件,这很酷,但是随后dragleave为刚刚剩下的子元素触发了该事件,因此removeClass执行了该指令,这并不酷。 此行为有问题的原因有两个: 我只是附上 dragenter&dragleave,<div id="dropzone">所以我不明白为什么子元素也要附加这些事件。 我仍在将<div id="dropzone">元素悬停在其子元素上时拖动元素,所以我不想dragleave开火! jsFiddle 这是一个可以修补的jsFiddle: http //jsfiddle.net/yYF3S/2/ 题 所以...我该怎么做,以至于当我在<div id="dropzone">元素上拖动文件时,dragleave即使我在任何子元素上拖动也不会触发...仅当我离开该<div id="dropzone">元素时才触发。 。在元素边界内的任何位置悬停/拖动都不会触发dragleave事件。 我需要它与跨浏览器兼容,至少在支持HTML5拖放的浏览器中是这样,所以这个答案是不够的。 …

16
您如何检测清除了“搜索” HTML5输入?
在HTML5中,search输入类型显示在右侧,带有一个小的X,它将清除文本框(至少在Chrome中,也许在其他语言中)。除了说根本不检测框何时被单击或进行某种位置单击检测(x位置/ y位置)以外,是否有其他方法可以检测到在Java或jQuery中单击此X的方法?

8
使用Chrome,如何查找绑定到元素的事件
假设我的页面上有一个链接: <a href="#" id="foo">Click Here</a> 我什么都不知道,但是当我单击链接时,alert("bar")会显示一个。所以我知道某个地方已经绑定了一些代码#foo。 如何找到alert("bar")将click事件绑定到的代码?我正在寻找Chrome的解决方案。 附注:这个例子是虚构的,所以我没有在寻找类似的解决方案:“使用XXXXXX并在整个项目中搜索“ alert(\“ bar \”)”。我想要一个真正的调试/跟踪解决方案。


7
如何使用JavaScript模拟鼠标单击?
我知道这种document.form.button.click()方法。但是,我想知道如何模拟onclick事件。 我在堆栈溢出的某个地方找到了此代码,但我不知道如何使用它:( function contextMenuClick() { var element= 'button' var evt = element.ownerDocument.createEvent('MouseEvents'); evt.initMouseEvent('contextmenu', true, true, element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 1, null); element.dispatchEvent(evt); } 如何使用JavaScript触发鼠标单击事件?

7
Internet Explorer 9、10和11事件构造函数不起作用
我正在创建一个事件,因此请使用DOM Event构造函数: new Event('change'); 在现代浏览器中,此方法工作正常,但是在Internet Explorer 9、10和11中,它失败并显示: Object doesn't support this action 如何修复Internet Explorer(最好通过polyfill)?如果不能,是否可以使用替代方法?

20
如何捕获form.submit的响应
我有以下代码: <script type="text/javascript"> function SubmitForm() { form1.submit(); } function ShowResponse() { } </script> . . . <div> <a href="#" onclick="SubmitForm();">Click</a> </div> 我想捕获HTML响应form1.submit?我该怎么做呢?我可以向form1.submit方法注册任何回调函数吗?

20
使用JavaScript检测对iframe的点击
我了解,iframe如果是跨域用户,则无法判断用户在做什么。我想做的是跟踪用户是否完全单击iframe。我想象一个场景,div在之上有一个不可见的区域iframe,而the div会随后将click事件传递给iframe。 这样的事情可能吗?如果是的话,我将如何处理?的iframes是广告,所以我必须在所使用的标签没有控制权。

4
如何找出触发了哪些JavaScript事件?
我有一个选择列表: <select id="filter"> <option value="Open" selected="selected">Open</option> <option value="Closed">Closed</option> </select> 当我选择Closed页面时会重新加载。在这种情况下,它显示关闭的票证(而不是打开的票证)。当我手动执行时,它工作正常。 问题是当我Closed使用Watir选择时页面不会重新加载: browser.select_list(:id => "filter").select "Closed" 这通常意味着某些JavaScript事件不会触发。我可以使用Watir触发事件: browser.select_list(:id => "filter").fire_event "onclick" 但我需要知道要触发哪个事件。 有没有办法找出为元素定义了哪些事件?

8
适用于所有浏览器的Object.watch()吗?
请注意,Object.Watch和Object.Observe现在都弃用(如2018年6月的)。 我一直在寻找一种监视对象或变量更改的简便方法,我发现Object.watch()Mozilla浏览器支持,但IE不支持。所以我开始四处搜寻,看看是否有人写过类似的东西。 我唯一发现的就是jQuery插件,但我不确定这是否是最好的方法。我当然在我的大多数项目中都使用jQuery,所以我不必担心jQuery方面的问题。 无论如何,问题是:有人可以向我展示该jQuery插件的有效示例吗?我在使其工作时遇到问题... 还是有人知道跨浏览器更好的替代方法吗? 回答后更新: 感谢大家的回应!我尝试了发布在此处的代码:http : //webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html 但是我似乎无法使其与IE一起使用。下面的代码在Firefox中可以正常工作,但在IE中则不起作用。在Firefox中,每次watcher.status更改都会调用document.write()in watcher.watch(),您可以在页面上看到输出。在IE中,这不会发生,但是我可以看到它watcher.status正在更新值,因为最后一次document.write()调用显示了正确的值(在IE和FF中)。但是,如果没有调用回调函数,那是没有意义的... :) 我想念什么吗? var options = {'status': 'no status'}, watcher = createWatcher(options); watcher.watch("status", function(prop, oldValue, newValue) { document.write("old: " + oldValue + ", new: " + newValue + "<br>"); return newValue; }); watcher.status = 'asdf'; watcher.status = '1234'; document.write(watcher.status + …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.