有可能在html内传递带有自函数的链接并从范围传递arg OBJ
例
function notifier_ADD(ZZZ) {
let message = /*html*/`<a href="#" onclick="callback_WithArg_Scoped(ZZZ);">Run JavaScript Code</a>`;
};
在活动中如何通过ZZZ?
onclick="callback_WithArg_Scoped(ZZZ)"
最佳答案
好吧,模板文字:
假设ZZZ是一个字符串。
function notifier_ADD(ZZZ) {
document.body.innerHTML +=
`<a href="#" onclick="callback_WithArg_Scoped('${ZZZ}');">Run JavaScript Code</a>`;
}
function callback_WithArg_Scoped(str) {
console.log(str);
}
notifier_ADD('Ele from SO');
如果
ZZZ
是对象,则可以创建元素a
:function notifier_ADD(ZZZ) {
var a = document.createElement('a');
a.href = "#";
a.addEventListener('click', function() {
callback_WithArg_Scoped(ZZZ);
});
a.appendChild(document.createTextNode('Run JavaScript Code'));
document.body.appendChild(a);
}
function callback_WithArg_Scoped(obj) {
console.log(obj);
}
notifier_ADD({message: 'Ele from SO'});
或者,您可以使用
JSON.stringify()
和JSON.parse()
(这适用于现代浏览器):function notifier_ADD(ZZZ) {
document.body.innerHTML +=
`<a href="#" onclick="callback_WithArg_Scoped('${encodeURIComponent(JSON.stringify(ZZZ))}');">Run JavaScript Code</a>`;
}
function callback_WithArg_Scoped(obj) {
console.log(JSON.parse(decodeURIComponent(obj)));
}
notifier_ADD({message: "Ele from SO"});