jQuery overwrite .click event within click

I have these functions: TargetWorksheet.toggle_child_locations = function(id){ $("#location-children-"+id).slideToggle("slow"); } TargetWorksheet.get_child_locations = function(id, lvl){ //Ajax grab all children and targets, and display children $.get('child_locations',{ location_id: id, level: lvl}, function(data){ $("#location-children-"+id).append(data); TargetWorksheet.toggle_child_locations(id); }); //Change onClick to just toggle since child data will now be loaded $("#location-toggle-"+id).click(function(){ TargetWorksheet.toggle_child_locations(id); }); } and this call: $(function(){ TargetWorksheet.toggle_child_locations(2); $("#location-toggle-2").click(function(){ TargetWorksheet.get_child_locations(2,1); }); }); So I attach a click event to my '+' link (#location-toggle-2), which toggles child data. On first click, I want to do an ajax call to retrieve the child data, but then i just want to overwrite the .click on the #location-toggle-2 so that it now just toggles, and doesn't make the ajax call. The above code doesn't work, it doesn't seem to overwrite the .click, and makes the ajax call each time. Does anyone know how I can overwrite the .click event of an item? I also tried `$("#location-toggle-"+id).click(TargetWorksheet.toggle_child_locations(id));` And it just kept toggling over and over recursively for some reason. Thoughts?

以上就是jQuery overwrite .click event within click的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » jQuery 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏