草庐IT

事件分发

全部标签

javascript - 使用 jQuery 触发真实事件

似乎jQuery的trigger()只运行与jQuery绑定(bind)的事件处理程序。我有一些使用native浏览器事件绑定(bind)的模块。使用来自https://stackoverflow.com/a/2676527的代码对我有用,但我想知道jQuery中是否有内置的东西可以做到这一点?根据评论更新:显然它适用于按钮上的点击事件。但不适用于选择框上的更改事件:http://jsfiddle.net/qxpXV/2/郑重声明:破解其他库以与jQuery绑定(bind)确实使trigger()起作用,但我真的不想那样做。 最佳答案

javascript ondrop 事件

我在JavaScript中使用drop事件通过以下代码上传文件:varfileName=event.dataTransfer.files[0].name;varorgValue=document.getElementById('').value;if(orgValue=='undefined'){orgValue='';}orgValue+=orgValue==''?'':'\n';orgValue+="*"+fileName;document.getElementById('').value=orgValue;event.preventDefault();returnfalse;但是

javascript - 如何在 Jasmine 测试框架中处理谷歌地图事件

我正在尝试使用jasmine框架为Googlemap编写Javascript测试。我想要做的是启动map并更改边界(缩小)并测试map是否已正确缩小。我遇到的问题是jasmine好像没有办法处理事件。Jasmine有一个spyOn()方法,可以查找方法(不是事件)的用法。jasmine中还有waits()方法可以等待特定的时间。这些方法都不适用于处理事件。有人对Jasmine的事件有任何经验吗?我正在使用的代码:describe('Mapview',function(){beforeEach(function(){$('body').append("");this.view=newMa

javascript - Google Map KML 图层 - 点击事件返回 ZERO_RESULTS

我正在处理GooglemapKML图层点击事件。我正在使用这段代码:functioninitialize(){varmapOptions={center:newgoogle.maps.LatLng(41.875696,-87.624207),zoom:11,mapTypeId:google.maps.MapTypeId.ROADMAP};varmap=newgoogle.maps.Map(document.getElementById("map_canvas"),mapOptions);varctaLayer=newgoogle.maps.KmlLayer('https://sites

javascript - Spine.js - 如何使用 JavaScript 从模型实例中解除特定事件处理程序的绑定(bind)?

从模型类中解除绑定(bind)特定的事件处理程序非常容易,但似乎从模型实例中解除绑定(bind)事件处理程序的唯一方法是使用unbind()(不接受任何参数)。对于模型实例,是否有等效于模型类的unbind([eventName,function])函数,或者是否有另一种更好的方法来解除绑定(bind)特定的处理程序而不解除它们的绑定(bind)?我已经查看了Spine.jsdocumentation但到目前为止还没有运气。向unbind()函数添加参数没有任何效果-它只是忽略它们并解除绑定(bind)。 最佳答案 最后我们换了一个

javascript - 监听密码显示事件

IE10有一个功能,可以在单击按钮时显示密码字段的内容。有什么方法可以检测到这种情况正在发生吗?当然,我可以回过头来寻找我希望该按钮所在位置的点击,但这并不理想。 最佳答案 鉴于没有答案,对于future的搜索者,这是我迄今为止最好的答案:可以使用此css隐藏按钮:::-ms-reveal{display:none;} 关于javascript-监听密码显示事件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

javascript - 触摸事件是否适用于 SVG?

这个问题在这里已经有了答案:Can*you*getSVGonmobilebrowseracceptmouse/touchevents?Ican't(2个答案)关闭9年前。我一直在尝试使用SVG+ECMAScript,我发现它令人印象深刻。我最近foundout(X)HTML5具有“触摸事件”规范,因此Android浏览器、Firefox和Chrome/Chromium等浏览器具有对多点触控屏幕的DOM支持。我可以在独立的SVG文件中从ECMAScript访问这些相同的事件吗?(即没有任何(X)HTML5。)如果是这样,将不胜感激一个简单的示例SVG文件。注意:“触摸事件”指的是标准触摸

javascript - 在 iframe 上滑动,传递点击事件,并且 elementFromPoint 在图像映射区域返回 null

我有一个HTML文档,其中包含3个iframe,分别代表上一页、当前页面和下一页。我试图启用页面滑动(通过jQuerytouchswipe插件),但也让点击进入iframe内的文档。这是HTML:当pages-wrapper元素被滑动时,上一页或下一页成为事件页面。页面大小为100%,事件页面填满浏览器的视口(viewport)。一切都在同一个域内。iframe的文档可以包含带有图像映射的图像。不幸的是,iframe捕获鼠标事件,禁用父页面上的滑动功能。正如其他人所建议的那样,答案是覆盖一个透明的div,使用elementFromPoint在iframe的文档中定位目标,然后手动向目标

javascript - Bootstrap 下拉事件不适用于 bootstrap-ui

根据http://getbootstrap.com/javascript/#dropdowns打开/关闭下拉列表时会抛出事件(例如,show.bs.dropdown、hide.bs.dropdown)。这一直有效,直到模块bootstrap-ui处于事件状态。我创建了一个plunkr来显示问题http://plnkr.co/edit/luYpweQZx22IkWHeMKhM.移除对ui.boostrap的依赖时会抛出事件,即varapp=angular.module('myapp',['ui.bootstrap']);替换为varapp=angular.module('myapp',[

javascript - 按住 'ctrl+enter' 会为按键事件提供与直接 'enter' 不同的键码 - 但仅限于 Windows

我有以下Javascript:$(function(){$("#foo").keypress(function(event){if(event.keyCode==13){console.log(event.ctrlKey?"Ctrl+Enter(13)":"Enter(13)");}elseif(event.keyCode==10){console.log(event.ctrlKey?"Ctrl+Enter(10)":"Enter(10)");}});});本例中的Foo是一个输入框。在Windows下,并且仅限于Windows-按住CTRL修饰符可将keyCode从13更改为10。因