Javascript 在jquery中删除按钮的解除绑定? 函数getData(url){ $.getJSON(url、函数(结果){ $(“#formNav ul”)。追加(“”) $.each(结果,函数(){ 变量列表=$(“#formNav li”), listItem=$(“”), html=listItem.append($('').text(this.name)); $.each(this.items,function(){ listItem.append($('').attr('href',this.id).text(this.name)) }); list.append(html) }); }); }; $(函数(){ 变量菜单={ $菜单:$('.config导航#formNav'), $trades:$(“.config导航选择#tradesmanList”), $skills:$(“.config导航选择#作业列表”), init:function(){ 变量$menu=菜单。$menu; //设置菜单 $menu.children(“li”).addClass(“关闭”); $menu.find(“.js-reveal”).hide(); 菜单.$skills.attr(“禁用”、“禁用”); 菜单。$trades.on(“更改”,功能($skills){ 菜单。$skills.removeAttr(“禁用”); }); //绑定以单击项目。。。 $menu.on(“单击”,“h4”,此.toggle); }, 切换:函数(){ //切换向下钻取菜单的隐藏显示 变量$this=$(this), $category=$this.parent(); log($this.parent().index()); var data=getData(“test.json”); $category.addClass(“加载”)。toggleClass(“打开”); $this.next(“.reveal”).delay(100).toggle(0,function(){ $category.Data; $category.removeClass(“加载”); }); } }; Menu.init(); });
我有一个返回json数据的函数,然后我在菜单函数中调用这个函数来显示数据,但是每次我单击按钮时,数据都会不断生成,我希望它显示数据,然后再次单击后隐藏数据?如果有人有什么建议,那就太好了。Javascript 在jquery中删除按钮的解除绑定? 函数getData(url){ $.getJSON(url、函数(结果){ $(“#formNav ul”)。追加(“”) $.each(结果,函数(){ 变量列表=$(“#formNav li”), listItem=$(“”), html=listItem.append($('').text(this.name)); $.each(this.items,function(){ listItem.append($('').attr('href',this.id).text(this.name)) }); list.append(html) }); }); }; $(函数(){ 变量菜单={ $菜单:$('.config导航#formNav'), $trades:$(“.config导航选择#tradesmanList”), $skills:$(“.config导航选择#作业列表”), init:function(){ 变量$menu=菜单。$menu; //设置菜单 $menu.children(“li”).addClass(“关闭”); $menu.find(“.js-reveal”).hide(); 菜单.$skills.attr(“禁用”、“禁用”); 菜单。$trades.on(“更改”,功能($skills){ 菜单。$skills.removeAttr(“禁用”); }); //绑定以单击项目。。。 $menu.on(“单击”,“h4”,此.toggle); }, 切换:函数(){ //切换向下钻取菜单的隐藏显示 变量$this=$(this), $category=$this.parent(); log($this.parent().index()); var data=getData(“test.json”); $category.addClass(“加载”)。toggleClass(“打开”); $this.next(“.reveal”).delay(100).toggle(0,function(){ $category.Data; $category.removeClass(“加载”); }); } }; Menu.init(); });,javascript,jquery,Javascript,Jquery,我有一个返回json数据的函数,然后我在菜单函数中调用这个函数来显示数据,但是每次我单击按钮时,数据都会不断生成,我希望它显示数据,然后再次单击后隐藏数据?如果有人有什么建议,那就太好了。 谢谢。当您调用切换功能时,您似乎可以使用 function getData(url) { $.getJSON(url, function(result) { $('#formNav ul').append('<ul/>') $.each(result, fu
谢谢。当您调用切换功能时,您似乎可以使用
function getData(url) {
$.getJSON(url, function(result) {
$('#formNav ul').append('<ul/>')
$.each(result, function() {
var list = $('#formNav li'),
listItem = $('<li/>'),
html = listItem.append($('<h5/>').text(this.name));
$.each(this.items, function() {
listItem.append($('<a />').attr('href', this.id).text(this.name))
});
list.append(html)
});
});
};
$(function(){
var Menu = {
$menu: $('.config-nav #formNav'),
$trades : $(".config-nav select#tradesmanList"),
$skills : $(".config-nav select#jobList"),
init: function(){
var $menu = Menu.$menu;
// Set menu up
$menu.children("li").addClass('closed');
$menu.find(".js-reveal").hide();
Menu.$skills.attr("disabled", "disabled");
Menu.$trades.on("change", function($skills){
Menu.$skills.removeAttr("disabled");
});
// bind to click on the item...
$menu.on("click", "h4", this.toggle);
},
toggle: function() {
// Toggle the hide show of the drill down menu
var $this = $(this),
$category = $this.parent();
console.log($this.parent().index());
var data = getData("test.json");
$category.addClass("loading").toggleClass("open");
$this.next(".reveal").delay(100).toggle(0, function(){
$category.Data;
$category.removeClass("loading");
});
}
};
Menu.init();
});
为什么不将getData方法移到toggle函数之外,而将其移到init函数中呢。。看起来应该没问题吧..我已经把它移到第//bind行之前,单击该项目$菜单上(“点击”,“h4”,此按钮切换);但它似乎仍在重复数据?我是否仍在切换函数中调用category.data?谢谢
var data = getData("test.json"); and then use it to populate the list..