Onclick js功能消失

Posted

技术标签:

【中文标题】Onclick js功能消失【英文标题】:Onclick js function disappearing 【发布时间】:2013-06-11 18:44:27 【问题描述】:

好的,问题来了:我有一个侧边栏,其中包含所有朋友及其在线状态。如果您点击某个朋友,他们会出现在页脚,并且会在屏幕底部出现一个聊天框。

在聊天框的顶部有 2 个按钮,里面有图片。一个是最小化,另一个是关闭按钮。单击最小化按钮时,聊天框将被删除,但它们仍保留在页脚中。如果单击关闭按钮,聊天框会被移除,并且它们会从页脚中移除。

这一切都很好,但是当我点击最小化按钮 <button onclick='minimize()'>...</button> 并重新点击朋友时,关闭按钮的 onclick 是空的并且不起作用......我还尝试使用 jQuery 的 .click 函数但它什么也没做。 好吧,我有另一台电脑...这是我的 jquery 代码:

function minimizefcc()
   var current_friend = $("#fcc_container header span").text(); //get current chat window username
   $("li.fcc_li"+current_friend+"_username").attr('data-activeconnection', 'false');
   $("li.friend_li."+current_friend+"_username").attr('data-activeconnection', 'false');
   $("#fcc_container").remove();//get rid of chat box(fcc_container = friend chat    container)


function closefcc()
   var current_friend = $("#fcc_container header span").text(); //get current chat window username
   $("li.fcc_li"+current_friend+"_username").attr('data-activeconnection', 'false');
   $("li.friend_li."+current_friend+"_username").attr('data-activeconnection', 'false');
   $("#fcc_container").remove();//get rid of chat box(fcc_container = friend chat    container)
   $("li.fcc_li."+current_friend+"_username").remove();
   $("li.friend_li."+current_friend+"_username").attr('data-fcopen', 'false');


//heres the main code

$(document).ready(function()
   var friendli = $("li.friend_li");
   var footer = $("#footer");
   var fccli = $(".fcc_li");
   friendli.click(function()
      var username  = $(this).attr("data-fcusername");
      var open = $(this).attr('data-fcopen');
      var active = $(this).attr('data-activeconnection');
      if(open === 'false' && active === 'false')
         //friend isn't in footer and isn't in chat box
         $(this).attr('data-fcopen', 'true');
         $(this).attr('data-activeconnection', 'true');
         $("#footer #fcc_ul").append("<li class='fcc_li "+username+"_username' data-   activeconnection='true' data-fcopen='true' data-fcusername='"+username+"'>"+username+"<img   src='you dont need the source' title='status' class='status_img "+username+"_status'/></div>");
         minimizefcc();
         $("body").append("<div id='fcc_container'><header id='fcc_header'><span>"+username+"</span>"+
"<button id='fcc_minimizeButton' onclick='minimizefcc()'><img src='you dont need source...' title='minimize'/></button>"+
"<section id='fcc_messageContainer'></section><textarea id='fcc_input'></textarea></div>");
      

      if(open === 'true'&& active === 'false')
         //friend is in footer but not in chatbox
         $(this).attr('data-activeconnection', 'true')
         minimizefcc();
         $("body").append("<div id='fcc_container'><header id='fcc_header'>" +
         "<button id='fcc_minimizeButton' onclick='minimizefcc()'><img src='you dont need source...' title='minimize'/></button>"+
         "<section id='fcc_messageContainer'></section><textarea id='fcc_input'></textarea></div>"):
         $("li.fcc_li."+username+"_username").attr('data-activeconnection', true');
   );
);

【问题讨论】:

欢迎来到 ***!您可以发布一些代码来显示您尝试过的内容吗?这将使我们更容易为您提供帮助:) 错误肯定是第 314 行,缺少括号。 你真的需要发布更多的 jQuery 代码。 问题是我使用的电脑没有网络... 我应该拍照吗? 【参考方案1】:

好的,我想道歉,因为这是一个非常愚蠢的错误...在第二个中,如果我添加按钮的地方我忘了添加 onclick='closefcc()',只是个笨蛋,我的错。

【讨论】:

别担心,我们中的大多数人时不时会犯愚蠢的错误。

以上是关于Onclick js功能消失的主要内容,如果未能解决你的问题,请参考以下文章

JS创建对象,添加了onclick函数。功能在创建时随意触发

JavaScript 未捕获类型错误:无法读取 null 的属性“样式”:按钮 Onclick 使 html 消失

onclick 功能自动运行

jquery onclick 下拉菜单

怎样使js中的onclick事件只触发一次,就是我点击了一次,再次点击的时候不让其再触发

如何在Button的onClick功能之后或期间重定向?