我使用jqui中的droppable小部件。
我的父元素“Div”是一个droppable对象,当accept对象“ball”进入其中时会在父元素Div内创建另一个同样是droppable的子元素“circle”,这个子元素同样绑定了一个over事件,当“ball”对象进入“circle”时,会触发“进球了”函数
但是,我发现:当我移动ball进入Div内,circle产生了,而此时我移动ball进入circle内,却没有正确触发“进球”事件(事实上,任何绑定在"circle"上的droppable事件都没有触发),必须先松开处于拖拽中的ball,再点击ball拖拽,使其进入circle中,才能正确触发circle的over事件。
然而,这并不符合我的预期,我希望当ball进入Div内,再进入circle时,能够直接触发这个事件,而不是先松开,再拖拽,随后触发这个事件,我该如何解决这个问题?感谢任何愿意提出的建议!
这个问题似乎是由于jQuery UI的droppable组件在处理拖动事件时存在一些困难。当你在拖动一个元素并放入另一个droppable元素时,它可能无法正确地触发那个元素的"over"事件。
你可以尝试使用一个叫做"activate"的事件来代替"over"。这个事件在元素被放置并且是目标元素的时候被触发,所以它可能能解决你的问题。以下是你如何修改你的代码的一个示例:
$("#Div").droppable({ accept: "#ball", activate: function(event, ui) { var circle = $(event.target).find("#circle"); if(circle.length > 0) { circle.droppable("option", "over", function(event, ui) { // 这里写你的"进球了"函数 console.log("进球了"); }); } }});
在这个例子中,当#ball被拖动到#Div并且#circle被创建时,我们检查#circle是否存在,如果存在,我们就在#circle上设置"over"事件。这样,当你将#ball拖到#circle时,应该能够立即触发"进球了"函数。
然而,这个解决方案有一个局限性,就是当#ball被放入#circle后,如果你再把#ball从#circle中取出,#circle的"over"事件将不会被触发,除非你再次将#ball放入#circle。这是因为droppable组件在初始化的时候会为每个可接受的元素创建一个新的"over"事件监听器,而这个监听器只在元素第一次被放置的时候被触发。
为了解决这个问题,你可能需要使用一个自定义的事件处理器,而这个处理器可以在每次#ball被放入#Div和#circle的时候被触发。这样,无论何时#ball被移动到#Div或者#circle,你都能确保你的"进球了"函数会被正确地触发。
我想获取GET参数的值并触发一个事件。如何在Created方法中触发事件? 我尝试了这种方式,但没有找到点击方法:
本文向大家介绍jquery中trigger()无法触发hover事件的解决方法,包括了jquery中trigger()无法触发hover事件的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天做一个项目,遇到了一个问题,是以前没有遇到过的,就此记上一笔。 1、trigger方法解释 官方是这么解释的: 用法: .trigger( eventType [, extraParameters] )
我在用柏树。io根据react页面自动上传一个文件测试用例。用于文件上载的输入组件(type=file)是在呈现页面时在运行时创建的。 似乎按钮(通过单击“选择文件”)打开了一个本机文件选择器,而赛普拉斯网络驱动程序似乎不支持与之交互,所以在这种情况下,可能会触发一个模拟文件选择的事件。但是Cypress无法定位输入(type=file),因为它不是DOM的一部分,这意味着cy.get('输入[t
一个名为专题报告的下拉框,点击下拉框后给后端发一个special_report/special_report/selectList的get请求,将获取到的数据展示在下拉框,当我第一次点击下拉框时,没有数据,之后点击数据就展示出来了,百度是因为fetch发的是异步请求,于是在fetch中添加一个Promise,但是无效,用async/await依然无效,求大佬指点!! 第一次点击: 之后点击:
本文向大家介绍解决Vue.js父组件$on无法监听子组件$emit触发事件的问题,包括了解决Vue.js父组件$on无法监听子组件$emit触发事件的问题的使用技巧和注意事项,需要的朋友参考一下 最近学习vuejs看例子中用$on无法监听子组件$emit触发事件: 使用版本 vue.js 2.2.5 参考文献 1.vuejs API 2.解决实例 问题分析 1.之前写的自定义组件事件触发为this
本文向大家介绍动态生成的DOM不会触发onclick事件的原因及解决方法,包括了动态生成的DOM不会触发onclick事件的原因及解决方法的使用技巧和注意事项,需要的朋友参考一下 最近朋友在做一个项目的时候,遇到动态加载微博内容,然后点击“展开评论”后获取该微博的所有评论。这里使用了动态加载的<span mid='123456789′ class='get_comment'>点击加载评论</spa