我这辈子都想不通。
我已经动态创建了一个元素,我需要向它添加一个点击事件,尽管它需要在所有浏览器中工作,直到 ie7。
var bottle = document.createElement('a');
bottle.id = 'target';
bottle.onclick = function(){makeClickable();};
//bottle.setAttribute('onclick', 'makeClickable();');
bottle.setAttribute('title', 'Lavender');
bottle.setAttribute('class', 'lavenderButton');
bottle.setAttribute('style', '**MY STYLES**');
bottle.innerHTML = "<div class='button pulse lavenderBottleImg'><img width='100%' src='**SOURCE**' class='indicator'></div>";
document.body.appendChild(bottle);
这是一个 JSFiddle。稍作修改:makeClickable()
定义为向 JavaScript 控制台输出消息,将 div 内的图像元素替换为文本。
onclick 有效,但在 Firefox 中无效!如何让 onclick 在所有浏览器中工作?
注释掉的选项在 IE7 中不起作用(重要的是它在那里起作用!)并且添加事件侦听器也不起作用。
呸!这样做的正确方法是什么?