我无法想象我的生活。
我已经动态创建了一个元素,我需要向它添加一个click事件,尽管它需要在所有浏览器中工作,直到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);
Here's a JSFiddle。它被略微修改:makeClickable()
被定义为向JavaScript控制台输出消息,div中的图像元素被文本替换。
onclick有效,但不适用于Firefox!如何让onclick在所有浏览器中运行?
注释掉的选项在IE7中不起作用(重要的是它可以在那里工作!)并且添加事件监听器也不起作用。
唷!这样做的正确方法是什么?
答案 0 :(得分:2)
onclick
事件可以正常工作。我刚刚使用alert()
代替makeClickable()
来运行它。这表明问题不在于您对click
事件的编码方式,而在于makeClickable()
中的某些内容。