我正在尝试更改div的现有“oncontextmenu”。
div:
<td id="linetitle_title1" oncontextmenu="LoadLineXml('dGl0bGUx')">
js:
var linekey = window.btoa(document.getElementById('updateTitle').value);
var linefunction = "LoadLineXml(\'"+linekey+"\')";
document.getElementById('linetitle_' + input ).oncontextmenu = linefunction;
有任何改变的想法吗?
答案 0 :(得分:0)
oncontextmenu
属性接受一个函数,但您可能还需要在IIFE中包装该函数以保护linekey
的范围,具体取决于该函数的方式被称为:
document.getElementById('linetitle_' + input ).oncontextmenu = (function(key) {
return function() {
LoadLineXml(linekey)
}
}(linekey));
您应该做的不是在HTML中设置属性。您可以直接设置属性以覆盖已存在的属性:
document.getElementById('linetitle_' + input ).setAttribute("oncontextmenu", linefunction);
但我不推荐这种做法。