我有一个<div>
s 列表,它们具有相同的html,但html内的值不同。层次结构如下:
<div id="element">
<div class="likecomm">
<a class="commenticon" href="#">...some value according to the returning value...</a>
</div>
</div>
<div id="element">
<div class="likecomm">
<a class="commenticon" href="#">...some value according to the returning value...</a>
</div>
</div>
在一个事件中,我将html注入列表的顶部,这是另一个 <div id="element> ... </div>
我具有以下用于单击评论图标的事件处理程序;
$('.commenticon').click(function(){
$(this).closest('.actionframe').next('nav').slideToggle(300);
return false;
});
在插入新的之前,它可以正常工作<div id="element> ... </div>
。评论图标的点击事件处理程序不匹配。我搜索了这个问题,所有人都说.delegate()
应该使用。
我的问题是我不知道在哪里使用委托函数。之前,我从ajax获得结果以注入<div id="element> ... </div>
,我.delegate()
在注入html的ajax调用中使用了函数。
$.ajax({
success:function(data) {
var html=... // the necessary div html binded with data
// prepend function call()
$('.likecomm').delegate(".commenticon","click" , function() {
$(this).closest('.actionframe').next('nav').slideToggle(300);
return false;
});
}
});
目前,它不起作用。那么,有什么想法可以使这件事起作用吗?
您需要将事件处理程序绑定到应在其上触发事件的元素的公共祖先。例如,如果您#element
将追加内div
具有id
的parent
:
$("#parent").delegate(".commenticon", "click", function() {
//Do stuff
});
这将适用于这样的HTML结构:
<div id="parent">
<div class="element">
</div>
<div class="element">
</div>
</div>
之所以起作用,是因为DOM事件从它们的起源点冒出来。该delegate
方法在祖先元素处捕获事件,并检查事件是否起源于与选择器匹配的元素。
另请注意,id
在同一文档中具有重复值是无效的。在这里,我将您的element
ID值改为了类名。
最后,如果您使用的是jQuery
1.7+,则应改用该on
方法。它将具有相同的效果,但是请注意,前两个参数是相反的:
$("#parent").on("click", ".commenticon", function() {
//Do stuff
};
问题内容: 我想将一个事件处理程序添加到一个段落中,以供任何用户单击它时使用。例如,我有一个段落,当用户单击它时会显示一个警报,但是在HTML上不使用“ onclick”。 问题答案: 您可以添加事件侦听器。 嗯 像这样: 完整代码(已在Chrome&IE7中测试):
为了测试流处理和Flink,我给自己出了一个看似简单的问题。我的数据流由粒子的和坐标以及记录位置的时间组成。我的目标是用特定粒子的速度来注释这个数据。所以小溪看起来像这样。 现在无法保证事件会按顺序到达,即可能会在之前到达,即。 为了简单起见,可以假设任何迟来的数据将在早数据的内到达。 我承认,我是流处理和闪烁的新手,所以这可能是一个愚蠢的问题,提出一个明显的答案,但我目前被难倒了,如何去实现我的
本文向大家介绍JQuery事件委托原理与用法实例分析,包括了JQuery事件委托原理与用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery事件委托原理与用法。分享给大家供大家参考,具体如下: 事件委托就是利用事件冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作。事件委托首先可以极大的减少事件绑定次数,其次也可以让新加入的子集元素也拥有相同的操作。 一
我是Swift的新手,因此经验不是很丰富。我不知道为什么这不起作用。 我正在尝试下载一个音乐文件,然后将其发送到AVAudoPlayer播放。 代码如下:
我是Java编程的新手,所以这个问题对这里的许多人来说可能听起来很愚蠢。我试图让自己熟悉JavaFX事件处理机制。 我正在开发一个GUI,我希望按钮在单击它时以及按下Enter键时执行相同的功能。 我能做以下事情吗? 然后将它用于两个按键事件
这是模块类 这是我的viewmodel构造函数 当我运行应用程序时,我得到这个错误,我认为不要在模块中注入所需的应用程序上下文,任何帮助都会被赞赏 C:\XYZ\XYZ\AndroidStudioProjects\CarAndroid\app\build\generate\source\kapt\debug\com\sw\car\baseclasses\CarApp_HiltComponents.