带参数的Onclick导致javascript语法错误
当单击id为“elem”的元素时,我得到了“uncaughtsyntaxerror:意外标识符”。你能告诉我怎么修理这个吗带参数的Onclick导致javascript语法错误,javascript,jquery,html,openlayers-3,Javascript,Jquery,Html,Openlayers 3,当单击id为“elem”的元素时,我得到了“uncaughtsyntaxerror:意外标识符”。你能告诉我怎么修理这个吗 formulaireDB.allDocs({ include_docs: true }).then(function(result) { for (x in result.rows) { docFeature = result.rows[x].doc; coord_nv = [docFeature.geometry.coor
formulaireDB.allDocs({
include_docs: true
}).then(function(result) {
for (x in result.rows) {
docFeature = result.rows[x].doc;
coord_nv = [docFeature.geometry.coordinates[0],
docFeature.geometry.coordinates[1]];
position = to3857(coord_nv);
map.addOverlay(new ol.Overlay({
position: ol.proj.transform(
[docFeature.geometry.coordinates[0],
docFeature.geometry.coordinates[1]],
'EPSG:4326',
'EPSG:3857'),
element: $('<img id="elem" onclick="clickmarker('
+ result + ',' + x + ')" src="./img/pin32.png">')
}));
}
}).catch(function(err) {
console.log(err);
});
}
function clickmarker(rt, ind) {
var res = rt.rows[ind].doc.geometry.coordinates;
console.log(res);
}
formulaireDB.allDocs({
包含文档:true
}).然后(函数(结果){
for(result.rows中的x){
docFeature=result.rows[x].doc;
coord_nv=[docFeature.geometry.coordinates[0],
docFeature.geometry.coordinates[1]];
位置=to3857(协调内华达州);
map.addOverlay(新ol.Overlay({
职位:ol.proj.transform(
[docFeature.geometry.coordinates[0],
docFeature.geometry.coordinates[1]],
‘EPSG:4326’,
‘EPSG:3857’,
元素:$('')
}));
}
}).catch(函数(err){
控制台日志(err);
});
}
功能点击标记(rt、ind){
var res=rt.rows[ind].doc.geometry.coordinates;
控制台日志(res);
}
在执行catch功能后,您有一个额外的支架。试试这个:
formulaireDB.allDocs({
包含文档:true
}).然后(函数(结果){
for(result.rows中的x){
docFeature=result.rows[x].doc;
coord_nv=[docFeature.geometry.coordinates[0],docFeature.geometry.coordinates[1];
位置=to3857(协调内华达州);
//添加标记
map.addOverlay(新ol.Overlay({
职位:ol.proj.transform(
[docFeature.geometry.coordinates[0],docFeature.geometry.coordinates[1]],
‘EPSG:4326’,
‘EPSG:3857’
),
元素:$('')
}));
}
}).catch(函数(err){
控制台日志(err);
});
功能点击标记(rt、ind){
var res=rt.rows[ind].doc.geometry.coordinates;
控制台日志(res);
}
您正在将结果
连接到字符串,并将其作为此行中的对象丢失:
element: $('<img id="elem" onclick="clickmarker(' + result + ',' + x + ')" src="./img/pin32.png">')
元素:$('')
您可能需要在创建click listener后添加它,而不是在线添加
例如
element: $('<img...>').on('click',function(){ clickmarker(result,x); });
元素:$('').on('click',function(){clickmarker(result,x);});
开头少了一行,我的坏:函数ShowFormulaires(){…}
在捕获部分之后结束谢谢!这基本上解决了这个问题,但它必须在单独的一行$(“#elem”).on('click',function(){clickmarker(result,x);})
如果您将代码的格式设置得更好一点,而不是将这么多内容传递到构造函数中,那么您可能会发现更多错误。创建变量来表示它们,然后传递它们。它将使您和许多其他开发人员的生活更加轻松