草庐IT

delegation_target

全部标签

javascript - 使用 Hammer.js 的事件委托(delegate)

我如何在Hammer.js中使用纯JavaScript执行jQuery样式的事件委托(delegate)?例如:Hammer(document).on('tap','.item',function(){console.log('tapped')})这是直接可行的还是我必须自己进行授权? 最佳答案 受Jools回答的启发,这就是我的想法。我没有考虑纯JS解决方案——事实上,这是为与Backbone.View一起使用而设计的,但很容易适应其他情况。当它到达View的根元素(this.el)时,它将停止攀登节点树。从HammerJS事件标

javascript - 删除特定对象上的 jQuery 委托(delegate)事件处理程序

我已使用单个选择器将委托(delegate)事件处理程序附加到页面上的多个元素。由于事件是为单个元素触发的,所以我想仅根据某些条件逻辑关闭该元素的事件处理程序。这意味着我不一定要在第一次点击时禁用该事件。但如果不关闭所有这些,我不知道该怎么做。HTML:OneTwoThreeJS:$(document).on('click','button',function(ev){//doesn'tworkbecauseargumentneedstobeastring$(document).off('click',$(ev.target));//doesn'tdowhatIwantb/cturns

javascript - 在 JavaScript 和 jQuery 中使用委托(delegate)事件处理程序是否存在性能缺陷?

我在我的JavaScript代码中使用委托(delegate)事件处理程序(jQuery),因此当单击动态添加的按钮时会发生一些事情。我想知道这是否存在性能缺陷?//Delegatedeventhandler$(document).on('click','#dynamicallyAddedButton',function(){console.log("Hello");});在性能方面,它与此相比如何?//Regulareventhandler$("#regularButton").on('click',function(){console.log("HelloAgain");});查看

javascript - MS Edge 无法检测 <use> SVG 元素的委托(delegate)事件?

我想我在MSEdge中发现了一个令人不安的错误,它会影响动态创建的SVG元素。Edge似乎能够检测到直接绑定(bind)的事件,即$('.use').on('click',...),但是委托(delegate)事件$('body').on('click','use',...)被忽略。它最容易用JSFiddle来说明(在Chrome中测试,绑定(bind)都有效,而在Edge中委托(delegate)绑定(bind)不起作用):https://jsfiddle.net/Lr0arahb/有没有人对此问题有任何见解,并且知道可能的解决方法?最重要的是,我正在寻找一个我们仍然可以使用的解决方

javascript - 无法让 jstree 工作 - "Uncaught TypeError: Object #<Object> has no method ' 委托(delegate)'”

我正在尝试让jstree插件工作,遵循此页面上的“预定义HTML”示例:http://luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/1_datasources.html为了避免与可能发生的任何其他事情发生冲突,我试图让它在尽可能简单的页面中工作,在我的公共(public)保管箱文件夹中:http://dl.dropbox.com/u/846812/jstree_example/jstree_example.html我在我的页面中包含的唯一js是jquery和主jstree文件,jsTree/j

javascript - jquery delegate() 事件(mouseover mouseout)触发两次

我有以下脚本总是两次触发鼠标悬停和鼠标移出!你建议我做错了什么(解除绑定(bind),返回例如)?我尝试了一些东西但是没有任何帮助。代码如下:$('#container').delegate('div.showmenu','mouseovermouseentermouseoutmouseleave',function(e){if(e.type==='mouseover'||e.type==='mouseenter'){//jIErequiresmouseenter,doesnotfiremouseoverif($(this).parents().closest('div').hasCl

javascript - 当event.target 为HTMLImageElement 时,如何获取anchor 的href?

我想在单击时获取anchor元素的href。我正在使用以下javascript代码:document.addEventListener('click',function(event){event=event||window.event;varel=event.target||event.srcElement;if(elinstanceofHTMLAnchorElement){console.log(el.getAttribute('href'));}},true);这非常适合像这样的嵌入式anchor:但是当我使用anchor和图像时它不起作用:event.target返回图像而不是a

javascript - 如何使用 angularJS 和 jqlite 测试 event.target.hasClass() ?

单击后将事件传递给ctrl。我想编写一个条件,如果element.target具有类modal-click-shield,它将返回true问题:如何使用Angulars的jqlite将.hasClass()与event.target一起使用?问题:目前我收到类型错误:$scope.exitModal=function(event){//Returntocurrentpagewhenexitingthemodal,viaUI.//Afterstatereturn,shouldsetfocusonthematchinglink.vartarget=event.target;console.

javascript - 将 hoverIntent 与 .on 或委托(delegate)一起使用

你将如何使用hoverIntent:$mainNav.on('mouseenter','.hEvent',function(){//Dostuff}); 最佳答案 使用“选择器”选项进行事件委托(delegate)。$mainNav.hoverIntent({over:function(){},out:function(){},selector:'.hEvent'});来源:hoverIntentDocumentation 关于javascript-将hoverIntent与.on或委托

javascript - jQuery/JavaScript - Firefox 上的 event.target.id

我写了一个在Chrome上运行良好的简短脚本:functionupdateSentence(){$(document).ready(function(){t=event.target.id;$("#S"+t).html($("#"+t).val());});}但是,在Firefox中事件是没有定义的。我发现了一些类似的问题,这些问题表明需要将事件作为参数传递给函数:functionupdateSentence(event){$(document).ready(function(event){t=event.target.id;$("#S"+t).html($("#"+t).val())