如何在Firefox中使用element.onclick?

时间:2013-05-15 23:02:12

标签: javascript events click

我无法想象我的生活。

我已经动态创建了一个元素,我需要向它添加一个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中不起作用(重要的是它可以在那里工作!)并且添加事件监听器也不起作用。

唷!这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

onclick事件可以正常工作。我刚刚使用alert()代替makeClickable()来运行它。这表明问题不在于您对click事件的编码方式,而在于makeClickable()中的某些内容。

Proof