Javascript Onclick不';在Firefox中不工作,但在Chrome中工作-是的
考虑以下代码Javascript Onclick不';在Firefox中不工作,但在Chrome中工作-是的,javascript,jquery,html,google-chrome,firefox,Javascript,Jquery,Html,Google Chrome,Firefox,考虑以下代码 function getItems(id, menu_id) { //some code } $('#group-api').append('<li><a href="#" onclick="getItems(\''+data['group'][i]['id']+'\',\''+menu_id+'\');" role="tab" data-toggle="tab">'+data['group'][i]['menu_group']+'</a
function getItems(id, menu_id) {
//some code
}
$('#group-api').append('<li><a href="#" onclick="getItems(\''+data['group'][i]['id']+'\',\''+menu_id+'\');" role="tab" data-toggle="tab">'+data['group'][i]['menu_group']+'</a></li>');
函数getItems(id,菜单\u id){
//一些代码
}
$(“#组api”).append(“”);
如果我使用Chrome,这是可行的,但Firefox不行。有什么解决办法吗?谢谢。试试相反的方法。通过jQuery创建元素,在其上附加一个
。单击()
事件,然后将其附加到容器中
代码:
函数getItems(id,菜单\u id){
// ...
}
$(“”)
.附于(“#集团api”)
.查找(“a”)
。单击(函数(){
getItems(数据['group'][i]['id'],菜单id);
});
JSbin模型:
回复评论: 您总是得到最后一个值,因为您没有使用闭包。 以下是使用闭包更新的(非工作)示例:
for(var i = 0; i < data['group'].length; i++) {
var id = data['group'][i]['id'];
$("<li><a href='#' role='tab' data-toggle='tab'>" + data['group'][i]['menu_group'] + "</a></li>")
.appendTo("#group-api")
.find("a")
.click(
(function(a, b) {
return function() {
getItems(a, b);
};
})(id, menu_id)
);
}
for(变量i=0;i”)
.附于(“#集团api”)
.查找(“a”)
.点击(
(职能(a、b){
返回函数(){
项目(a、b);
};
})(id,菜单\u id)
);
}
我还没有测试过它,但我认为它应该可以工作。试试相反的方法。通过jQuery创建元素,在其上附加一个
。单击()
事件,然后将其附加到容器中
代码:
函数getItems(id,菜单\u id){
// ...
}
$(“”)
.附于(“#集团api”)
.查找(“a”)
。单击(函数(){
getItems(数据['group'][i]['id'],菜单id);
});
JSbin模型:
回复评论: 您总是得到最后一个值,因为您没有使用闭包。 以下是使用闭包更新的(非工作)示例:
for(var i = 0; i < data['group'].length; i++) {
var id = data['group'][i]['id'];
$("<li><a href='#' role='tab' data-toggle='tab'>" + data['group'][i]['menu_group'] + "</a></li>")
.appendTo("#group-api")
.find("a")
.click(
(function(a, b) {
return function() {
getItems(a, b);
};
})(id, menu_id)
);
}
for(变量i=0;i”)
.附于(“#集团api”)
.查找(“a”)
.点击(
(职能(a、b){
返回函数(){
项目(a、b);
};
})(id,菜单\u id)
);
}
我还没有测试过它,但我认为它应该可以工作。试试相反的方法。通过jQuery创建元素,在其上附加一个
。单击()
事件,然后将其附加到容器中
代码:
函数getItems(id,菜单\u id){
// ...
}
$(“”)
.附于(“#集团api”)
.查找(“a”)
。单击(函数(){
getItems(数据['group'][i]['id'],菜单id);
});
JSbin模型:
回复评论: 您总是得到最后一个值,因为您没有使用闭包。 以下是使用闭包更新的(非工作)示例:
for(var i = 0; i < data['group'].length; i++) {
var id = data['group'][i]['id'];
$("<li><a href='#' role='tab' data-toggle='tab'>" + data['group'][i]['menu_group'] + "</a></li>")
.appendTo("#group-api")
.find("a")
.click(
(function(a, b) {
return function() {
getItems(a, b);
};
})(id, menu_id)
);
}
for(变量i=0;i”)
.附于(“#集团api”)
.查找(“a”)
.点击(
(职能(a、b){
返回函数(){
项目(a、b);
};
})(id,菜单\u id)
);
}
我还没有测试过它,但我认为它应该可以工作。试试相反的方法。通过jQuery创建元素,在其上附加一个
。单击()
事件,然后将其附加到容器中
代码:
函数getItems(id,菜单\u id){
// ...
}
$(“”)
.附于(“#集团api”)
.查找(“a”)
。单击(函数(){
getItems(数据['group'][i]['id'],菜单id);
});
JSbin模型:
回复评论: 您总是得到最后一个值,因为您没有使用闭包。 以下是使用闭包更新的(非工作)示例:
for(var i = 0; i < data['group'].length; i++) {
var id = data['group'][i]['id'];
$("<li><a href='#' role='tab' data-toggle='tab'>" + data['group'][i]['menu_group'] + "</a></li>")
.appendTo("#group-api")
.find("a")
.click(
(function(a, b) {
return function() {
getItems(a, b);
};
})(id, menu_id)
);
}
for(变量i=0;i”)
.附于(“#集团api”)
.查找(“a”)
.点击(
(职能(a、b){
返回函数(){
项目(a、b);
};
})(id,菜单\u id)
);
}
我还没有测试它,但我认为它应该可以工作。好的,它可以工作,但不是100%。我有一个循环,函数总是有“last”参数。for(var I=0;I”)。附加到(“#group api”)。查找(“a”)。单击(函数(){getItems(id,menu_id);}}我已经更新了我的帖子。问题是我在我的第一个解决方案中没有使用闭包(忘记了循环)。我还没有测试它,所以我希望它能工作:)好的,它能工作,但不是100%。我有一个循环,函数一直在运行“last”参数。用于(变量i=0;i”)。附加到(“#组api”)。查找(“a”)。单击(函数(){getItems(id,menu_id);}}我已经更新了我的帖子。问题是我没有在我的第一个解决方案中使用闭包(忘记了循环)。我还没有测试它,所以我希望它能工作:)好的,它能工作,但不是100%。我有一个循环,函数总是有“last”参数。for(var I=0;I”)。附加到(“#组api”)。查找(“a”)。单击(函数(){getItems(id,menu id);})我已经更新了我的帖子。问题是我