我正在使用jquery作为聊天头,在聊天头的角落里有"X"符号来删除聊天头,当点击"X"即button
时,它也会激活聊天头div。。聊天头的结构类似
<div class="name_right">
<button class="close_chat_in">X</button>
</div>
这是小提琴,请看一看,并建议我表演这种动作的正确方法。虽然这对静态元素很有效,但当我通过ajax加载元素或通过append添加元素时,它就不起作用了。看一看小提琴来澄清问题。
感谢
试试这个Fiddle。单击X后,您需要停止事件的传播。
关闭聊天JS功能:
$("body").on("click", ".close_chat_in", function (ev) {
$(this).parent(".name_right").remove();
alert("i am suppose to remove this chat head");
$('body').append("<div class='name_right'><span/n/ style='border-radius:100%;margin:0px;padding:0px;color:black;background:#F78F1E;'></span>n<button class='close_chat_in' id=''> X </button></div>");
ev.stopPropagation();
});
请为您的问题添加更多代码,但更改为:
$("body").on("click", ".close_chat_in", function () {
至
$("body div.name_right").on("click", ".close_chat_in", function () {
这只是将监听器移动到您的div中,而不是整个主体中,因此它不会同时激发其他监听器。